행렬식에 자꾸 쓰래기값이들어가요..
진이
#includestdio.h
int main()
{
double arr[100][100];
int n;
printf(input num);
scanf(%d,&n);
/*행렬의 생성arr 행렬 */
int i,j;
for(i=0;in;i++)
{
for(j=0;jn;j++)
{
arr[i][j]=1.0/(i+j+1);
}
} //여기서 arr행렬은 모두 정의..
/* 변환된 행렬 출력 arr행렬의 인자를 그대로 받는gg 행렬 */
double gg[100][100];
int a,b;
for(a=0 ; an ; a++)
{
for(b=0 ; bn ; b++)
{
arr[a][b]=gg[a][b];//그래로 전달..
}
}
printf(%d \n,gg[0][1]);//제대로 전달되었는 확인하기 위해 1행 2열 의 값 출력해보기
return 0;
}출력해보면 쓰래기값이 나와요..선언이 잘못된건가요..ㅡㅡ;;
아니면 fof문 사용이..ㅡㅡ;;
두번째 fof문 다돌고나서 밑에줄로 내려가는거 맡죠??제생각대로라면 0.500000 나와야 하는데요..ㅡㅡ;;
-
바람
choihy090909 // 초보때 가장 많이 하는 실수가, 오타로 인한 실수입니다. ^^
본인의 소스코드를 한글자 한글자, 그리고 하나의 의미 의미를 차근히 살피면 버그를 찾으 실 수 있을꺼예요 ^^ -
조롱목
아..그렇게 봤으면서 그걸 못보다니..ㅜㅜ 저도 실력이 더싸이면 이런에러가 금방 보이겠죠..ㅠㅠ
수다님 ㄳㄳ -
뽀야
바꾸고 돌렸는데 프로그램 잘 돌아가네요 혹시 n값을 1정도로 입력하신거 아닌가요?
num값을 너무 적게 입력했다면 for문이 다 돌아가질못해서 안돌아간 배열속의 값은 초기화되지 않은값이..
%f로 바꾸세요~ -
망고
c는 그럭저럭 봐서 확실하진 않은데
printf문에서 %d는 정수값을 출력하는거 아닌가요? -
권애교
arr[a][b]=gg[a][b];//그래로 전달..
여기가 자리가 뒤바뀐듯 싶네요
gg[a][b] = arr[a][b];
배열 arr 값이 초기화 되지 않은 배열 gg값으로 초기화되야하는게 아니고
초기화 되지 않은 gg값이 arr로 초기화 되야겠죠?....