5x5 2차원 배열이 주어질 때 어떤 원소가 상하좌우에 있는 원소보다 작을 때 해당 위치에 0 을 표시하는 프로그램을 작성하시오. 경계선에 있는 수는 상하좌우 중 존재하는 원소만을 비교한다.
#include <stdio.h>
#include<stdlib.h>
int result[5][5];
int arr[5][5];
int px[4] = {1,-1,0,0};
int py[4] = {0,0,1,-1};
bool search(int i, int j){
int row = i;
int col = j;
for(int k=0; k<4; k++){
if(arr[row+px[k]][col+py[k]]!=NULL){
if(arr[row][col]>=arr[row+px[k]][col+py[k]])
{
return false;
}
}
}
return true;
}
int main() {
//Please Enter Your Code Here
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
scanf("%d",&arr[i][j]);
result[i][j] = arr[i][j];
}
}
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
if(search(i,j)){
result[i][j] = 0;
}
}
}
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
printf("%d ",result[i][j]);
}
printf("\n");
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[Algorithm] 함수 사용하여 2차원배열의 최대값 구해보기 (0) | 2019.01.14 |
---|---|
[Algorithm] eightnine (0) | 2019.01.11 |
1094 [시뮬레이션2] (0) | 2019.01.07 |
2455 [시뮬레이션1] (0) | 2019.01.07 |
10872 팩토리얼 구하기 (0) | 2019.01.06 |