Write a C program to merge two arrays and sort the resultant array.
#include <stdio.h>
#define BUFSZ 128
#define MAX 256
int main() {
int arr1[BUFSZ], arr2[BUFSZ], res[MAX];
int temp, i, j = 0, n1, n2, m;
/* get the number of entries for the first array */
printf("Number of entries in the first array:");
scanf("%d", &n1);
/* get the number of entries for the second array */
printf("Number of entries in the second array:");
scanf("%d", &n2);
/* get the entries for the first array */
printf("\nEnter the first array entries:\n");
for (i = 0; i < n1; i++) {
printf("Array1[%d]: ", i);
scanf("%d", &arr1[i]);
}
/* get the second array entries */
printf("\nEnter the second array entries:\n");
for (i = 0; i < n2; i++) {
printf("Array2[%d]: ", i);
scanf("%d", &arr2[i]);
}
/* sum of element in first and second array */
m = n1 + n2;
/* copying contents of first array to output array */
for (i = 0; i < n1; i++) {
res[j++] = arr1[i];
}
/* copying the contents of 2nd array to output array */
for (i = 0; i < n2; i++) {
res[j++] = arr2[i];
}
/* sort the elements in output array */
for (i = 0; i < m - 1; i++) {
temp = res[i];
for (j = i + 1; j < m; j++) {
if (temp > res[j]) {
temp = res[j];
res[j] = res[i];
res[i] = temp;
}
}
}
/* print the result */
printf("Resultant array after merge and sort:\n");
for (i = 0; i < m; i++) {
printf("%d ", res[i]);
}
printf("\n");
return 0;
}
#define BUFSZ 128
#define MAX 256
int main() {
int arr1[BUFSZ], arr2[BUFSZ], res[MAX];
int temp, i, j = 0, n1, n2, m;
/* get the number of entries for the first array */
printf("Number of entries in the first array:");
scanf("%d", &n1);
/* get the number of entries for the second array */
printf("Number of entries in the second array:");
scanf("%d", &n2);
/* get the entries for the first array */
printf("\nEnter the first array entries:\n");
for (i = 0; i < n1; i++) {
printf("Array1[%d]: ", i);
scanf("%d", &arr1[i]);
}
/* get the second array entries */
printf("\nEnter the second array entries:\n");
for (i = 0; i < n2; i++) {
printf("Array2[%d]: ", i);
scanf("%d", &arr2[i]);
}
/* sum of element in first and second array */
m = n1 + n2;
/* copying contents of first array to output array */
for (i = 0; i < n1; i++) {
res[j++] = arr1[i];
}
/* copying the contents of 2nd array to output array */
for (i = 0; i < n2; i++) {
res[j++] = arr2[i];
}
/* sort the elements in output array */
for (i = 0; i < m - 1; i++) {
temp = res[i];
for (j = i + 1; j < m; j++) {
if (temp > res[j]) {
temp = res[j];
res[j] = res[i];
res[i] = temp;
}
}
}
/* print the result */
printf("Resultant array after merge and sort:\n");
for (i = 0; i < m; i++) {
printf("%d ", res[i]);
}
printf("\n");
return 0;
}
Output:
jp@jp-VirtualBox:~/$ ./a.out
Number of entries in the first array:5
Number of entries in the second array:4
Enter the first array entries:
Array1[0]: 10
Array1[1]: 20
Array1[2]: 90
Array1[3]: 70
Array1[4]: 60
Enter the second array entries:
Array2[0]: 100
Array2[1]: 95
Array2[2]: 130
Array2[3]: 110
Resultant array after merge:
10 20 60 70 90 95 100 110 130
Number of entries in the first array:5
Number of entries in the second array:4
Enter the first array entries:
Array1[0]: 10
Array1[1]: 20
Array1[2]: 90
Array1[3]: 70
Array1[4]: 60
Enter the second array entries:
Array2[0]: 100
Array2[1]: 95
Array2[2]: 130
Array2[3]: 110
Resultant array after merge:
10 20 60 70 90 95 100 110 130
No comments:
Post a Comment