-
Notifications
You must be signed in to change notification settings - Fork 3
/
day028.c
66 lines (64 loc) · 1.57 KB
/
day028.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
#include <stdio.h>
int* ascend(int a[]);
int* descend(int a[]);
int s_largest(int a[]);
int s_smallest(int a[]);
int size_array;
int main(void) {
//let your logic goes here
//you should engage the stack by calling 4 user defined mentods
//for four different functionalities required
int number_array[50];
printf("Enter the size of the array\n");
scanf("%d", &size_array);
printf("Input %d integer numbers\n", size_array);
for(int i=0; i<size_array; i++){
scanf("%d", &number_array[i]);
}
int *a_p = ascend(number_array);
printf("array contents in ascending order are\n");
for(int i=0; i<size_array; i++){
printf("%d\n", *(a_p + i));
}
int *d_p = descend(number_array);
printf("array contents in descending order are\n");
for(int i=0; i<size_array; i++){
printf("%d\n", *(d_p + i));
}
printf("second largest element in a given array is \n%d\n", s_largest(number_array));
printf("second smallest element in a given array is \n%d\n", s_smallest(number_array));
}
int* ascend(int a[]){
int temp;
for(int i=0; i<size_array; i++){
for(int j=i+1; j<size_array; j++){
if(a[i] > a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return a;
}
int* descend(int a[]){
int temp;
for(int i=0; i<size_array; i++){
for(int j=i+1; j<size_array; j++){
if(a[i] < a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return a;
}
int s_largest(int a[]){
int *p = descend(a);
return *(p + 1);
}
int s_smallest(int a[]){
int *p = ascend(a);
return *(p + 1);
}