Найти количество элементов матрицы больших первого элемента столбца с номером K - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Напишите программу которая задаёт случайным образом матрицу n*m элементов. Выводит матрицу на экран. Находит и выводит на экран количество элементов матрицы больших первого элемента столбца с номером K. Значения n,m,k вводятся с клавиатуры. Написал код, который задаёт матрицу и выводит на экран. Помогите выполнить второе задание, пожалуйста. На СИ или C++, не важно Мой код:
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char* argv[])
{
    system("chcp 1251");
    srand(time(NULL));
    int n, m, i, j, k;
    int** x;
    printf("Введите кол-во строк матрицы: ");
    scanf("%d", &n);
    printf("Введите кол-во столбцов матрицы: ");
    scanf("%d", &m);
    x = (int**)malloc(sizeof(int) * n);
    for (i = 0; i < n; i++)
    {
        x[i] = (int*)malloc(sizeof(int) * m);
        for (j = 0; j < m; j++)
        {
            x[i][j] = rand() % 10;
            printf("%4d ", x[i][j]);
        }
        printf("\n");
    }
 
    system("PAUSE");
    return 0;
}

Решение задачи: «Найти количество элементов матрицы больших первого элемента столбца с номером K»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[])
{
  system("chcp 1251"); 
srand(time(NULL)); 
int n,m,i,j,k; 
int** x; 
printf ("Введите кол-во строк матрицы: "); 
scanf("%d",&n); 
printf ("Введите кол-во столбцов матрицы: "); 
scanf("%d",&m); 
x=(int**)malloc(sizeof(int)*n); 
for(i=0;i<n;i++) { 
x[i] = (int*)malloc(sizeof(int)*m); 
for(j=0;j<m;j++) { 
x[i][j]=rand()%10; 
printf("%4d ",x[i][j]); 
} 
printf("\n");} 
int c=0;
printf("введите номер столбца k: ");
scanf("%d",&k);
for(i=0;i<n;i++) { 
for(j=0;j<m;j++) { 
if (x[0][k-1]<x[i][j]) {
c++; 
} 
}
} 
printf("ответ: %d",c);
  system("PAUSE");  
  return 0;
}

Объяснение кода листинга программы

Вот что делается в этом коде:

  1. Включаются необходимые заголовочные файлы, в данном случае, файлы для работы с консолью и для генерации случайных чисел.
  2. Задаются начальные значения переменных. В данном случае, первая строка инициализирует переменные, которые используются в системе ввода-вывода, а вторая строка инициализирует переменную, используемую в функции rand().
  3. Создается двумерный массив. В данном случае, массив инициализируется случайными числами от 0 до 9.
  4. Пользователю предлагается ввести номер столбца k.
  5. Перебираются все элементы матрицы. Если элемент в нулевой строке и столбце k-1 меньше, чем элемент в текущей строке и столбце k, то переменная c увеличивается на 1.
  6. Выводится результат.
  7. Завершается программа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы