본문 바로가기
외대생의 코딩이야기

[개인학습자료] C언어 - 두개의 배열를 합쳐 오름차순 정렬하기

by Jason.IM 2020. 3. 27.
728x90

출처 : https://blog.naver.com/greensmom/221556524920


<C언어 - 두개의 배열를 합쳐 오름차순 정렬하기>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
 
 
 
#define space 10 
void sequence(int a[], int n); // 오름차순 함수 
void print_normal(int a[], int n); // 일반 출력함수
 
 
 
int main() 
int arr_a[space] = { 0 }; 
int arr_b[space] = { 0 }; 
int arr_sum[2*space] = { 0 }; 
int i = 0
int*p1 = arr_a; 
int*p2 = arr_b; 
 
srand((unsigned)time(NULL)); 
 
//두개함수를 받아서 합치는 프로그램 
= 0
while (i < space) 
*(p1+i) = rand() % 100
i++
 
= 0
while (i < space) 
*(p2 + i) = rand() % 100
i++
 
for (i = 0; i < space; i++
arr_sum[i] = *(p1 + i); 
for (i = 0; i < space; i++
arr_sum[i+space] = *(p2 + i); 
 
print_normal(arr_a, space); 
print_normal(arr_b, space); 
print_normal(arr_sum, 2 * space); 
sequence(arr_sum, 2 * space); 
print_normal(arr_sum, 2 * space); 
 
return 0
 
void sequence(int a[], int n) 
//먼저 앞뒤 값비교, 순서틀리면 tmp이용해서 바꾸기 
 
int tmp; 
int *= a; 
 
for (int x = 0; x < n; x++
for (int i = 0; i < n-1; i++
 
if (*(p + i) > *(p + i + 1)) 
tmp = *(p + i); 
*(p + i) = *(p + i + 1); 
*(p + i + 1= tmp; 
 
/* 
//과정 보여주기 
for (int j = 0; j < n; j++) 
printf("%d ", a[j]); 
puts("");*/ 
 
void print_normal(int a[], int n) 
int *= NULL
for (int i = 0; i < n; i++
= a + i; 
printf("%d "*p); 
puts(""); 
}
 
 
cs

(본 프로그램은 저자 본인인 직접만든 프로그램임을 명시합니다.)

 

(CCL동의로 허락받고 출처를 작성한 사진외는 제 개인사진들 임을 밝힙니다.)

728x90