Дана целочисленная матрица размера 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;
}

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


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

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

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