while 루프를 사용하여 두 개의 3x3 행렬을 함께 추가해야합니다. while 루프를 사용하여 두 행렬을 읽고 인쇄 할 수 있지만 while 루프를 사용하여 행렬을 추가하는 방법을 배울 수는 없습니다.while 루프를 사용하여 행렬 추가
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0,j=0,k=0,l=0,m=0,n=0;
int a[3][3],b[3][3],c[3][3];
printf("Enter the first matrix \n \n");
while(i<3)
{
j=0;
while(j<3)
{
scanf("%d",&a[i][j]);
j++;
}
i++;
}
printf("\n");
printf("The first matrix is \n\n");
i=0;
while(i<3)
{
j=0;
while(j<3)
{
printf("%d ",a[i][j]);
j++;
}
printf("\n");
i++;
}
printf("\n");
//////////////////////////////////////////////////////////////////////////
printf("Enter the second matrix \n \n");
while(k<3)
{
l=0;
while(l<3)
{
scanf("%d",&b[k][l]);
l++;
}
k++;
}
printf("\n");
printf("The second matrix is \n\n");
k=0;
while(k<3)
{
l=0;
while(l<3)
{
printf("%d ",b[k][l]);
l++;
}
printf("\n");
k++;
}
printf("\n");
///////////////////////////////////////////////////////////////////////////////
printf("The sum of the matrix's is \n \n");
return 0;
}
그것은 이중 루프의 같은 스타일이다; 'b [k] [l]'과'a [k] [l]'의 각 개체를 합치고'c [k] [l]'에 할당하십시오. – Evert
for-loops를 사용하지 않는 이유가 무엇입니까? 그들은 본질적으로 동일 할 것이지만 의미 적으로, 크기에 고정되어 있기 때문에 훨씬 더 의미가 있습니다. – Evert
코드를 한눈에 보면 배열 인덱스가 특정 배열에 속한다는 오해에서 비롯된 것이라고 생각합니다. i와 j는 a에만, k와 l은 b에만 사용합니다. 다른 배열에 대해 동일한 인덱스를 재설정하고 재활용 할 수 있습니다. – Evert