강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김혁수님의 프로필 이미지
김혁수

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

48. 각 행의 평균과 가장 가까운 값(2차원 배열 탐색)

질문있습니다!

작성

·

220

0

#include <iostream>

#include <vector>

#include <algorithm>

#include <string>

using namespace std;

int a[10][10];

int avg[10];

int main() {

for (int i = 1; i <= 9; i++){

float s=0;

for (int j = 1; j <= 9; j++){

scanf("%d",&a[i][j]);

s = s + a[i][j];

}

s = s/9 + 0.5;

avg[i] = static_cast<float>(s);

 

for (int i = 1; i <= 9; i++){

int d, res = 0, min = 2147000000;

for (int j = 1; j <= 9; j++){

if (avg[i] > a[i][j]) d = avg[i] - a[i][j];

else d = a[i][j] - avg[i];

if(d < min) {

min = d;

res = a[i][j];

}

else if (d = min) {

if (res < a[i][j]) res = a[i][j];

}

}

printf("%d %d\n",avg[i], res);

}

return 0;

}

스스로 코딩을 먼저 짰는데 절대값 구하는 함수를 몰라 직접 코드를 짰습니다.

그런데 진하게 표시된 부분대로 짜면 절대값이 구해지는게 아닌가요? 

어디가 잘못된거죠?ㅠㅠ

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^ 코드오타입니다.

else if (d = min) {

다음 부터 코드를 올리실 때는 {;} 버튼을 이용해서 들여쓰기가 되게 올리시면 좋겠습니다.

김혁수님의 프로필 이미지
김혁수

작성한 질문수

질문하기