inflearn logo
강의

Course

Instructor

Learning C language through problems

Room Assignment (KOI Past Problem, Middle School)

46번 tmp질문드립니다

Resolved

314

eagle1129

9 asked

0

tmp값을 저기(★)에 쓰면 왜 출력값이 다르게 나오는지 궁금합니다

#include <stdio.h>

#include<math.h>

int arr[2][7];

int main() {

int i,j,n,k,s,y,tmp=0;

double sum=0;

scanf("%d %d",&n,&k);

for(i=0;i<n;i++){

scanf("%d %d",&s,&y);

arr[s][y]++;}

for(i=0;i<=1;i++){

for(j=1;j<=2;j++){

tmp=tmp+arr[i][j];}

}

sum=sum+ceil(tmp/(double)k);

tmp=0;     ★

for(i=0;i<=1;i++){

for(j=3;j<=5;j=j+2){

tmp=tmp+arr[i][j];

tmp=tmp+arr[i][j+1];

sum=sum+ceil(tmp/(double)k);}

}

printf("%d\n",(int)sum);

return 0;

}

c

Answer 2

1

codingcamp

안녕하세요^^

3학년부터 6학년까지는 남학생끼리만, 여학생끼리만 방을 배정해야 하고, 또한 3, 4학년 끼리만, 5, 6학년끼리만 구분해서 방을 배정합니다. 즉 각 구분을 따로 인원수를 카운팅해야 하는데 tmp을 별위치에서 0으로 초기화하고 이중for문 안에서 초기화하지 않으면 이런 구분을 하지 않고 다 더해버리는 것입니다.

0

eagle1129

이중for문 안에 tmp=0을 대입해야지 3,4학년 값을 구하고 tmp를 다시 0으로 초기화 하고 다시 또 5,6학년 값을 구하는군요,만약 ★위치에 tmp=0을 대입 해버리면 3,4,5,6학년값 모두 tmp값에 축적돼서 구분이 안가게되는거구요.. 이해했습니다 답변 감사합니다

음료수 자판기 출력이 이상하게 나옵니다

0

141

2

i 값 초기화 질문

0

70

2

recipe for targe 'AA.exe' failed

0

62

1

30과 10의 xor

0

191

1

커리큘럼 문의 드립니다

0

232

1

for문에서 sum 관련 질문

0

179

1

이렇게 풀어도 맞는걸까요?

0

253

2

이렇게 풀어도 맞는 풀이일까요?

0

302

1

20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?

0

257

1

24. 최솟값 구하기

0

332

1

질문 있습니다.

0

324

1

배열을 전역변수로 설정하는 이유

1

665

1

41. A를 #으로에서 질문 있습니다.

0

291

1

20번 소수 판별하기에서 질문 있습니다.

0

422

1

42번 bus error;;;

0

612

1

정수형 배열에서 배열 크기

0

395

1

38. 자리찾기 커지는 방향으로..

0

303

1

37. 배열의 회전에서 ...

0

280

1

1차원 배열에서

0

270

1

지수연산에서

0

300

1

7.연필 개수 문제

0

379

1

a=(int)a 에서 왜 괄호를 붙이나요 a=int a 는 왜안되나요

0

844

1

섹션 6. 소수

0

320

1

왜 2중for문을 두개 쓴건가요?

0

238

1