-
Notifications
You must be signed in to change notification settings - Fork 1
/
1_3_arrayloc.c
134 lines (123 loc) · 2.99 KB
/
1_3_arrayloc.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <stdio.h>
void insertion(int a[], int n) {
int i;
if (n <= 10) {
printf("Enter elements:\n");
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
} else {
printf("Array size exceeded. Maximum allowed size is 10.\n");
}
}
void disp(int a[], int n) {
int i;
if (n > 0) {
for (i = 0; i < n; i++) {
printf("%d\t", a[i]);
}
} else {
printf("empty array");
}
}
int del(int a[], int n) {
int z, i;
if (n > 0) {
printf("Enter the index to delete\n");
scanf("%d", &z);
if (z < n && z >= 0) {
printf("\n%d is deleted from index %d", a[z], z);
for (i = z; i < n - 1; i++) {
a[i] = a[i + 1];
}
n--; // Decrease the size of the array after deletion
}
} else {
printf("empty array");
}
return n;
}
void search(int a[], int n) {
int z, i;
if (n > 0) {
printf("Enter the number to search\n");
scanf("%d", &z);
for (i = 0; i < n; i++) {
if (a[i] == z) {
printf("\n%d at index position %d", a[i], i);
break;
}
}
if (i == n) {
printf("\n%d not found in the array", z);
}
} else {
printf("empty array");
}
}
void sort(int a[], int n) {
int i, j;
int temp;
int swapped;
if (n > 0) {
for (i = 0; i < n - 1; i++) {
swapped = 0; // Initialize swapped flag for this pass
for (j = 0; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
// Swap the elements
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
swapped = 1; // Set swapped flag to true
}
}
// If no two elements were swapped in the inner loop, the array is already sorted
if (swapped == 0)
break;
}
} else {
printf("empty array");
}
}
int menu() // menu function
{
int ch;
printf("\n=======MENU========\nINSERT-1\nSEARCH-2\nDISPLAY-3\nSORT-4\nDELETE-5\nEXIT-6\nEnter A Choice:");
scanf("%d", &ch);
return ch;
}
void process()
{
int ch;
int a[10], n;
printf("Enter no of elements (up to 10):\n");
scanf("%d", &n);
for (ch = menu(); ch != 6; ch = menu())
{
switch (ch)
{
case 1:
insertion(a, n);
break;
case 2:
search(a, n);
break;
case 3:
disp(a, n);
break;
case 4:
sort(a, n);
break;
case 5:
n = del(a, n);
break;
default:
printf("Invalid Choice\n");
}
}
}
int main()
{
process();
return 0;
}