Дана целочисленная матрица размера n × m. Найти количество ее строк, все элементы которых различны - C (СИ)
Формулировка задачи:
Решите задачи данной группы, оформив решение в виде процедур генерации,
вывода и обработки массивов. Предусмотрите в процедуре генерации
массива ввод границ диапазона случайных чисел. Дана целочисленная матрица размера n × m. Найти количество ее строк,
все элементы которых различны.
Решение задачи: «Дана целочисленная матрица размера n × m. Найти количество ее строк, все элементы которых различны»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 9 #define M 7 // Дана целочисленная матрица размера N * M. Найти количество ее строк, //все элементы которых различны. int random (int min, int max)//генерирует случайные числа в диапазоне min -> max { int a, b; a = min < max ? min : max; b = max > min ? max : min; return rand() % (b - a + 1) + a; } int different_elements (int *row)//функция проверяет повторяются ли элементы в строке { int flag = 0; for(int i = 0; i < M - 1; ++i) for(int j = i + 1; j < M; ++j) if(row[i] == row[j]) flag = 1; return !flag ? 1 : 0; } void print_matrix (int arr[N][M], int a, int b)//функция выводит матрицу на экран { puts("Matrix:"); for(int i = 0; i < N; ++i){ for(int j = 0; j < M; ++j) printf(" %d", arr[i][j] = random(a, b)); printf("\n"); } } int main() { int A[N][M], i, n = 0, min, max; puts("Enter a range of values of the matrix:"); scanf("%d%d", &min, &max); srand(time(0)); print_matrix(A, min, max); for(i = 0; i < N; ++i) n += different_elements(A[i]); if(n == 0) printf("No lines\n"); else printf("%d lines\n", n); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д