Переведите программу с С++ - C (СИ) (75984)
Формулировка задачи:
#include <iostream> using namespace std; int main() { int a[100][100] = {}, b[100][100] = {}, n, m; cin >> n >> m; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { cin >> a[i][j]; } } for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { cin >> b[i][j]; } } bool isSame = false; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if( a[i][j] != b[i][j] ) { cout << "a is not same with b " << endl; isSame = false; break; } else { isSame = true; } } } if( isSame == false ) { for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { cout << a[i][j] << ' '; } cout << endl; } cout << endl; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { cout << b[i][j] << ' '; } cout << endl; } } if( isSame == true ) { cout << " a same with b " << endl; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { cout << a[i][j] << ' '; } cout << endl; } } return 0; }
Решение задачи: «Переведите программу с С++»
textual
Листинг программы
#include <stdio.h> int main() { int a[100][100] = {}, b[100][100] = {}, n, m; scanf("%d %d", &n, &m); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { scanf("%d", &a[i][j]) } } for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { scanf("%d", &b[i][j]) } } bool isSame = false; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if( a[i][j] != b[i][j] ) { printf("a is not same with b "); isSame = false; break; } else { isSame = true; } } } if( isSame == false ) { for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { printf("%d ", a[i][j]); } printf("\n"); } printf("\n"); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { printf("%d ", b[i][j]); } printf("\n"); } } if( isSame == true ) { printf( " a same with b "); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { printf("%d ", a[i][j]); } printf("\n"); } } return 0; }
Объяснение кода листинга программы
- Объявлены три массива: a, b и c, размерностью 100x100.
- С помощью функции scanf считываются значения для массива a и b.
- Создается булевая переменная isSame, которая инициализируется значением false.
- Происходит сравнение элементов массива a и b, и если они не равны, то выводится сообщение
a is not same with b
и значение переменной isSame меняется на false. - Если элементы равны, то выводится сообщение
a same with b
и значения массива a выводятся на экран. - Если isSame имеет значение false, то значения массива b также выводятся на экран.
- Программа завершается возвратом значения 0.