문제
5x5 2차원 배열이 주어질 때 어떤 원소가 상하좌우에 있는 원소보다 작을 때 해당 위치에 * 을 표시하는 프로그램을 작성하시오. 경계선에 있는 수는 상하좌우 중 존재하는 원소만을 비교한다.
입력
5x5 행렬의 정보가 25 개의 수로 주어진다. 각 수는 0 에서 9 사이 수이다.
출력
*를 포함한 행렬을 출력예의 형식으로 출력한다.
예제 입력
3 4 1 4 9
2 9 4 5 8
9 0 8 2 1
7 0 2 8 4
2 7 2 1 4
예제 출력
3 4 * 4 9
* 9 4 5 8
9 0 8 2 *
7 0 2 8 4
* 7 2 * 4
#include <stdio.h>
int main() {
//Please Enter Your Code Here
int arr[7][7];
for(int i=1;i<=5;i++)//행렬 입력받기
{
for(int j=1;j<=5;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(int i=0;i<7;i++)//원래 행렬 주위를 99로 둘러쌈
{
arr[0][i]=99;
arr[6][i]=99;
arr[i][0]=99;
arr[i][6]=99;
}
for(int i=1;i<=5;i++)
{
for(int j=1;j<=5;j++)
{
if(arr[i][j]<arr[i-1][j]&&arr[i][j]<arr[i+1][j]&&arr[i][j]<arr[i][j-1]&&arr[i][j]<arr[i][j+1])
{
printf("* "); //작은수면 *로 표시
}
else printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
'코딩테스트' 카테고리의 다른 글
[C] attackrange (0) | 2022.05.26 |
---|---|
[C] GCD LCM (0) | 2022.05.26 |
[C] array 3 (0) | 2022.05.26 |
[C] 숫자 피라미드 (0) | 2022.05.26 |
[C] 주사위 게임 (0) | 2022.05.26 |