Найти количество элементов матрицы больших первого элемента столбца с номером 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; }
Объяснение кода листинга программы
Вот что делается в этом коде:
- Включаются необходимые заголовочные файлы, в данном случае, файлы для работы с консолью и для генерации случайных чисел.
- Задаются начальные значения переменных. В данном случае, первая строка инициализирует переменные, которые используются в системе ввода-вывода, а вторая строка инициализирует переменную, используемую в функции rand().
- Создается двумерный массив. В данном случае, массив инициализируется случайными числами от 0 до 9.
- Пользователю предлагается ввести номер столбца k.
- Перебираются все элементы матрицы. Если элемент в нулевой строке и столбце k-1 меньше, чем элемент в текущей строке и столбце k, то переменная c увеличивается на 1.
- Выводится результат.
- Завершается программа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д