2010년 4월 17일 토요일

행 5열의 행렬의 대각선 대각선 윗,아랫부분 합구하는 프로그램~

#include // rand(), srand() 함수를 사용하기 위해서 인클루드 함
#include // time() 함수를 사용하기 위해서 인클루드 함
#include

int random(int);

void main()
{
int i,j,num[5][5], ran;
int sum1 = 0, sum2 = 0, sum3 = 0;
srand( time (0) ); //매번 실행 할때 마다 같은 순서의 난수값을 발생시키 않기 위해 현재 시간값을 준다.

printf("\n\n");

/*난수로 행렬 초기화*/
for(i=0; i<5; i++){
for(j=0; j<5; j++){
ran = random(20);
num[i][j] = ran;
if(i==j){ sum1+=num[i][j]; } //대각선은 두첨자의 값이 같다.
else if(i else if(i>j){ sum3+=num[i][j]; } //대각선아랫부분은 행첨자가 열첨자보다 크다
}
}

/*행렬 출력*/
for(i=0; i<5; i++){
printf(" %d번 행 : ",i);
for(j=0; j<5; j++){
printf(" %3d ",num[i][j]);
}

printf("\n");
}

printf("\n");

/*각 라인별 누적값 출력*/
printf(" sum1 = %d \n",sum1);
printf(" sum2 = %d \n",sum2);
printf(" sum3 = %d \n",sum3);
}



int random(int n)
{
int res;
res = rand() % n + 1 ; //0에서 n-1까지 난수 발생
return res; //그값에 1을 더해주어 반환하면 1에서 n까지 난수 발생
}

댓글 없음:

댓글 쓰기