Дана целочисленная матрица размера n × m. Найти количество ее строк, все элементы которых различны - C (СИ)

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

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

Решите задачи данной группы, оформив решение в виде процедур генерации, вывода и обработки массивов. Предусмотрите в процедуре генерации массива ввод границ диапазона случайных чисел. Дана целочисленная матрица размера n × m. Найти количество ее строк, все элементы которых различны.

Решение задачи: «Дана целочисленная матрица размера n × m. Найти количество ее строк, все элементы которых различны»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define N 9
  5. #define M 7
  6. //  Дана целочисленная матрица размера N * M. Найти количество ее строк,
  7. //все элементы которых различны.
  8. int random (int min, int max)//генерирует случайные числа в диапазоне min -> max
  9. {
  10.     int a, b;
  11.     a = min < max ? min : max;
  12.     b = max > min ? max : min;
  13.     return rand() % (b - a + 1) + a;
  14. }
  15. int different_elements (int *row)//функция проверяет повторяются ли элементы в строке
  16. {
  17.     int flag = 0;
  18.     for(int i = 0; i < M - 1; ++i)
  19.         for(int j = i + 1; j < M; ++j)
  20.             if(row[i] == row[j])
  21.                 flag = 1;
  22.     return !flag ? 1 : 0;
  23. }
  24. void print_matrix (int arr[N][M], int a, int b)//функция выводит матрицу на экран
  25. {
  26.     puts("Matrix:");
  27.     for(int i = 0; i < N; ++i){
  28.         for(int j = 0; j < M; ++j)
  29.             printf(" %d", arr[i][j] = random(a, b));
  30.         printf("\n");
  31.     }
  32. }
  33. int main()
  34. {
  35.     int A[N][M], i, n = 0, min, max;
  36.     puts("Enter a range of values of the matrix:");
  37.     scanf("%d%d", &min, &max);
  38.     srand(time(0));
  39.     print_matrix(A, min, max);
  40.     for(i = 0; i < N; ++i)
  41.         n += different_elements(A[i]);
  42.     if(n == 0)
  43.         printf("No lines\n");
  44.     else
  45.         printf("%d lines\n", n);
  46.     return 0;
  47. }

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


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

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

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы