int main()
{
int arr[3][5] =
{ {12,56,32,16,98},
{99,56,34,41,3},
{6,53,87,78,21} };
int i, j;
int row[3];
int cor[5];
for (i = 0; i < 3; i++)
{
for (j = 0; j < 5; i++)
{
row[i] = row[i] + arr[i][j]; -----------------------> 여기서부터 잘못된점이 있다면 지적해주세요 ㅠ_ㅠ
cor[j] = cor[j] + arr[i][j];
}
}
for (i = 0; i < 3; i++)
printf("%d행의 합계: %d", i, row[i]);
for (j = 0; j < 5; j++)
printf("%d열의 합계: %d", j, cor[j]);
return 0;
}
문제 행과 열의 합을 각각 구해 출력하시오
하루에 2개씩 물어봐서 지송합니다..ㅠㅠㅠㅠ 이 문제만 유독 안풀려서요 ㅠㅠㅠㅠㅠㅠ
Q)컴파일을 돌리는데 명령프롬포트에서 작동중지 메세지만 뜨고 출력이 안되네요 ㅠㅠㅠㅠ
빌드 오류는 전혀 검출이 안되는데 무슨 문제일까요?ㅠㅠ
7개의 댓글
무분별한 사용은 차단될 수 있습니다.
Tbps
두번째 포문에 j증가가아니라 i증가때문에 배열참조 오버플로우떠서 그런거아닌가함
cocoLee
코딩어린이라 이해가 잘 안되는데 정확히 어느 지점에 어떤 부분일까요?ㅠㅠㅠㅠㅠㅠ
Tbps
for (j = 0; j < 5; i++) 이거 보면 증감연산자가 i++로 되어 있자너
그리고 정수형 배열을 선언할 때 전역변수 형식이 아닌 지역변수형식
그러니까 함수 내부에서 초기화 없이 배열을 선언하면 배열 안에는 쓰래기값만 잔뜩 들어있어서 결과가 제대로 안나옴
cocoLee
아 고맙습니다 !! 고쳐도 해결이 안되길래
int row[3];
int cor[5];을 초기화를 안해서 쓰레기값 뜨더라구여 고쳐서 해결했어요ㅎㅎㅎㅎㅎ
감사합니다
서리비
cocoLee
감사합니다 ㅠ_ㅠ i랑 j가 멀리서보면 비슷하게 보여서(핑계).. 감사합니다 ㅠㅠ
요거트샤베트