Write a C program to find the maximum difference between two elements in an array.
#include <stdio.h>
#define MAX 256
int main() {
int i, j, n, diff, max[3] = {0}, array[MAX];
/* get number of array entries from the user */
printf("Enter the number of array entries:");
scanf("%d", &n);
/* get the array entries from the user */
printf("Enter your array entries:\n");
for (i = 0; i < n; i++) {
printf("Data[%d]: ", i);
scanf("%d", &array[i]);
}
/* find the max difference b/w two elements in an array */
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
diff = array[i] - array[j];
diff = (diff < 0)?(diff * (-1)) : diff;
if (max[0] < diff) {
max[0] = diff;
max[1] = i;
max[2] = j;
}
}
}
/* print the result */
printf("Max difference b/w two elements in the given array:\n");
printf("Difference between %d and %d is %d\n",
array[max[1]], array[max[2]], max[0]);
return 0;
}
#define MAX 256
int main() {
int i, j, n, diff, max[3] = {0}, array[MAX];
/* get number of array entries from the user */
printf("Enter the number of array entries:");
scanf("%d", &n);
/* get the array entries from the user */
printf("Enter your array entries:\n");
for (i = 0; i < n; i++) {
printf("Data[%d]: ", i);
scanf("%d", &array[i]);
}
/* find the max difference b/w two elements in an array */
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
diff = array[i] - array[j];
diff = (diff < 0)?(diff * (-1)) : diff;
if (max[0] < diff) {
max[0] = diff;
max[1] = i;
max[2] = j;
}
}
}
/* print the result */
printf("Max difference b/w two elements in the given array:\n");
printf("Difference between %d and %d is %d\n",
array[max[1]], array[max[2]], max[0]);
return 0;
}
Output:
jp@jp-VirtualBox:~/$ ./a.out
Enter the number of array entries:5
Enter your array entries:
Data[0]: 50
Data[1]: 20
Data[2]: 30
Data[3]: 20
Data[4]: 10
Max difference b/w two elements in the given array:
Difference between 50 and 10 is 40
Enter the number of array entries:5
Enter your array entries:
Data[0]: 50
Data[1]: 20
Data[2]: 30
Data[3]: 20
Data[4]: 10
Max difference b/w two elements in the given array:
Difference between 50 and 10 is 40
Nice example ... I have done same thing in java find max difference of array element
ReplyDelete