Исправить код сложения двух матриц - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <conio.h>
#define N 2
#define M 2
int main()
{
int a[N][M],k, b[N][M], c[k];
int x, i, j;
for(i=0;i<N; i++)
for(j=0;j<M; j++)
{
printf("Vvedite a[%i][%i]=\n", i, j);
scanf("%d", &a[i][j]);
}
for(i=0;i<N; i++)
{
for(j=0;j<M; j++)
{
printf("Vvedite b[%i][%i]=\n", i, j);
scanf("%d", &b[i][j]);
}
}
for(i=0;i<N; i++)
for(j=0;j<M; j++)
c[k]=a[i][j]+b[i][j];
printf(" c[%i][%i]=[%d][%d]\n ",i,j, c[k]);
system("pause");
return 0;
}Решение задачи: «Исправить код сложения двух матриц»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define N 2
#define M 2
int main()
{
int a[N][M], k, b[N][M], c[N][M];
int x, i, j;
for (i = 0; i < N; i++){
for (j = 0; j < M; j++)
{
printf("Vvedite a[%i][%i] = ", i, j);
scanf_s("%d", &a[i][j]);
}
}
for (i = 0; i < N; i++){
for (j = 0; j < M; j++)
{
printf("Vvedite b[%i][%i] = ", i, j);
scanf_s("%d", &b[i][j]);
}
}
for (i = 0; i < N; i++){
for (j = 0; j < M; j++){
c[i][j] = a[i][j] + b[i][j];
printf("c[%i][%i] = %d\n", i, j, c[i][j]);
}
}
_getch();
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены три матрицы: a, b и c размером N на M (строка и столбец соответственно).
- В цикле запрашиваются значения для каждой ячейки матрицы a и b с помощью функции scanf_s.
- В цикле выполняется сложение соответствующих элементов матрицы a и b, результат сохраняется в матрице c.
- В цикле выводятся значения каждой ячейки матрицы c с помощью функции printf.
- В конце программы используется функция _getch для приостановки выполнения программы до нажатия клавиши.
- Функция main возвращает 0, что означает успешное завершение программы.