Сравнить две матрицы, одинаковые соответствующие элементы заменить на 1 - C (СИ)
Формулировка задачи:
Здраствуйте, такое задание: Сравнить две матрицы, одинаковые соответствующие элементы заменить на 1. Помогите решить, может смогу разобраться по готовому коду. Спасибо
Решение задачи: «Сравнить две матрицы, одинаковые соответствующие элементы заменить на 1»
textual
Листинг программы
#include <iostream> #define MAX_N 100 #define MAX_M 100 using namespace std; void Output(int[MAX_N][MAX_M], int n, int m); void main() { setlocale(LC_ALL,"Russian"); int a[MAX_N][MAX_M]; int b[MAX_N][MAX_M]; int n, m; while(true) { printf("Введите количество строк\n"); scanf_s("%o", &n); printf("Введите количество столбцов\n"); scanf_s("%o", &m); if (n > 100 || m > 100) { printf("\nОдин или два размера матрицы не верны!\nПопробуйте еще раз!"); } else { break; } } printf("Введите числа матрицы A\n"); for (int i = 0; i < n; i++) //переключение по строкам { for (int j = 0; j < m; j++)// переключение по столбцам { scanf_s("%o", &a[i][j]); } } printf("Введите числа матрицы B\n"); for (int i = 0; i < n; i++) //переключение по строкам { for (int j = 0; j < m; j++)// переключение по столбцам { scanf_s("%o", &b[i][j]); } } printf("До изменения\n"); Output(a, n, m); printf("\n"); Output(b, n, m); printf("\n"); printf("\n"); for (int i = 0; i < n; i++) //переключение по строкам { for (int j = 0; j < m; j++)// переключение по столбцам { if (a[i][j] == b[i][j]) { a[i][j] = b[i][j] = 1; } } } printf("После изменения\n"); Output(a, n, m); printf("\n"); Output(b, n, m); printf("\n"); system("pause"); } void Output(int a[MAX_N][MAX_M], int n, int m) { for (int i = 0; i < n; i++) //переключение по строкам { for (int j = 0; j < m; j++)// переключение по столбцам { printf("%d ", a[i][j]); } printf("\n"); }
Объяснение кода листинга программы
В этом коде:
- Объявлены две матрицы a и b типа int размером MAX_N на MAX_M.
- В цикле while запрашивается ввод количества строк и столбцов для матриц a и b.
- Если количество строк или столбцов превышает 100, выводится сообщение об ошибке и цикл продолжается.
- Ввод чисел для матрицы a и b происходит в цикле: для каждой строки вводится каждое значение в столбец.
- Выводится содержимое матриц a и b.
- В цикле происходит сравнение элементов матриц a и b, и при совпадении значений заменяются на 1.
- Выводится измененное содержимое матриц a и b.
- В конце программы выводится сообщение
После изменения
и снова выводится содержимое матриц a и b. - Программа завершается с помощью функции system(
pause
). - Функция Output выводит содержимое матрицы на экран, переключаясь по строкам и столбцам.
Коды функций:
main
: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20Output
: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д