-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
38. 자리찾기 커지는 방향으로..
23.01.12 01:38 작성 조회수 186
0
#include<stdio.h>
int arr[101];
int main(){
int i,j,n,m;
scanf("%d", &n);
for(i=0; i<n;i++){
scanf("%d", &arr[i]);
}
scanf("%d", &m);
for(j=0;j<n;j++){
if(arr[j]>m) {arr[j+1]=arr[j];
arr[j]=m;
break;
}
}
for(i=0; i<=n; i++){
printf("%d ",arr[i]);
}
return 0;
}
저는 이렇게 오름차순을 커지는 방향으로 해서 구하고 싶은데 어떻게 해야 정상적인 작동을 할 수 있을까요...?
답변을 작성해보세요.
0
김태원
지식공유자2023.01.15
안녕하세요^^
m보다 큰 값이 발견되었을 때 즉 arr[j] > m 이 참이 되었을 때 배열의 j번 부터 마직막 값까지 모두 한 칸씩 뒤로 밀려야 합니다. j만 뒤로 밀면 압됩니다. 그래서 영상의 방법처럼 뒤에서 부터 하나씩 뒤로 당기면서 앞으로 접근한 것입니다.
답변 1