
Вопрос задан 07.04.2021 в 22:48.
Предмет Информатика.
Спрашивает Синицкая Катерина.
дана целочисленная матрица размерами M*N найти количество ее строк все элементы которых различны
(надо на языке программирования C (си) )

Ответы на вопрос

Отвечает Бурнасов Сергей.
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main(void) {
int n, m;
scanf("%d %d", &n, &m);
int matrix[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]);
}
}
int ans = 0;
for (int i = 0; i < n; i++) {
bool tmp = false;
for (int j = 0; j < m && tmp == false; j++) {
for (int k = j + 1; k < m && tmp == false; k++) {
if (matrix[i][j] == matrix[i][k]) {
tmp = true;
}
}
}
if (tmp == false) {
ans++;
}
}
printf("%d", ans);
return 0;
}
#include <stdlib.h>
#include <stdbool.h>
int main(void) {
int n, m;
scanf("%d %d", &n, &m);
int matrix[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]);
}
}
int ans = 0;
for (int i = 0; i < n; i++) {
bool tmp = false;
for (int j = 0; j < m && tmp == false; j++) {
for (int k = j + 1; k < m && tmp == false; k++) {
if (matrix[i][j] == matrix[i][k]) {
tmp = true;
}
}
}
if (tmp == false) {
ans++;
}
}
printf("%d", ans);
return 0;
}



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот пример программы на языке программирования C, которая находит количество строк в целочисленной матрице, в которых все элементы различны:
c#include <stdio.h>
int areElementsDistinct(int* row, int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (row[i] == row[j]) {
return 0; // Найдены повторяющиеся элементы
}
}
}
return 1; // Все элементы различны
}
int countDistinctRows(int** matrix, int rows, int cols) {
int count = 0;
for (int i = 0; i < rows; i++) {
if (areElementsDistinct(matrix[i], cols)) {
count++;
}
}
return count;
}
int main() {
int rows, cols;
printf("Введите количество строк и столбцов матрицы: ");
scanf("%d %d", &rows, &cols);
// Выделение памяти под матрицу
int** matrix = (int**)malloc(rows * sizeof(int*));
for (int i = 0; i < rows; i++) {
matrix[i] = (int*)malloc(cols * sizeof(int));
}
// Ввод элементов матрицы
printf("Введите элементы матрицы:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
scanf("%d", &matrix[i][j]);
}
}
// Подсчет количества строк с различными элементами
int distinctRows = countDistinctRows(matrix, rows, cols);
printf("Количество строк с различными элементами: %d\n", distinctRows);
// Освобождение памяти
for (int i = 0; i < rows; i++) {
free(matrix[i]);
}
free(matrix);
return 0;
}
Программа сначала запрашивает у пользователя количество строк и столбцов матрицы. Затем пользователю предлагается ввести элементы матрицы по одному. После ввода всех элементов программа подсчитывает количество строк, в которых все элементы различны, и выводит это значение на экран.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili