강의

멘토링

로드맵

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

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

작성한 질문수

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

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

질문있습니다!

작성

·

225

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;

}

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

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

어디가 잘못된거죠?ㅠㅠ

퀴즈

57%나 틀려요. 한번 도전해보세요!

선택 정렬(Selection Sort) 알고리즘은 각 단계에서 어떤 작업을 수행하여 배열을 정렬하나요?

인접한 두 요소를 비교하여 필요시 교환합니다.

정렬되지 않은 부분에서 가장 작은(또는 큰) 값을 찾아 정렬된 부분의 올바른 위치로 옮깁니다.

현재 요소를 이미 정렬된 부분 배열의 적절한 위치에 삽입합니다.

배열을 분할하고 각 부분을 재귀적으로 정렬한 후 병합합니다.

답변 1

0

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

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

else if (d = min) {

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

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

작성한 질문수

질문하기