대각선구하기~![행렬]
장미빛볼살
대각선구하기~!이 프로그램은 실행되요...
그런데 여기서 약간 변형을 해서...
대각선 구하는것을 만들어야하는데...
소스가 어떻게 되는지 잘 모르겠어요....
도와주세요..질문 내용 :
#include stdio.h
#include string.h
#include stdlib.h //strlen
#define N 3
void readNxN(int a[N][N]);
void sumNxN(const int a[N][N], int rSum[N], int cSum[N]);
void printNxN(const int a[N][N], const int rSum[N], const int cSum[N]);
int main()
{
int x[N][N];
int rSum[N]={0}, cSum[N]={0};
readNxN(x);
sumNxN(x, rSum, cSum);
printNxN(x, rSum, cSum);
system(pause);
return 0;
}
void readNxN(int a[N][N])
{
int i, j;
printf(%d x %d 정수 행렬을 입력하세요:\n, N, N);
for(i=0; iN; ++i)
for(j=0; jN; ++j)
scanf(%d, &a[i][j]);
}
void sumNxN(const int a[N][N], int rSum[N], int cSum[N])
{
int i, j;
for(i=0; iN; ++i){
for(j=0; jN; ++j){
rSum[i]+=a[i][j];
cSum[j]+=a[i][j];
}
}
}
void printNxN(const int a[N][N], const int rSum[N], const int cSum[N])
{
int i, j;
const char *lseg = -------;
const int width = strlen(lseg) - 1;
for(i=0; i3; ++i){
for(j=0; j3; ++j)
printf(%*d, width, a[i][j]);
printf(|%*d\n, width, rSum[i]);
}
for(i=0; i3; ++i)
printf(%s, lseg);
printf(+\n);
for(i=0; i3; ++i)
printf(%*d, width, cSum[i]);
printf(\n);
}