This program accepts n elements from the user, and then using the insertion sort technique; returns the largest number of the array. This program is valid for any number of any elements.
First of all, we define an array A[LIMIT] of 100 elements using a global constant LIMIT. (Note: You cannot use ordinary variables as subscript for defining arrays!)
#define LIMIT 100
int A[LIMIT];
Then we have a function getA(int A[], int n) that gets accepts two arguments: array A[] and total number of elements n. This function gets input of n elements from the user and stores it in our array. The resulting array is then sorted by the function showL(int A[], int n) in ascending order, the last of these elements i.e. A[n-1] is the largest and is returned by the before-mentioned function.
Complete Code for this program is as follows:
#include <stdio.h> #define LIMIT 100 int i; void getA(int A[], int n); void ShowL(int A[], int n); int main(){ int n=0; int A[LIMIT]; //Doesn't accept more array elements than LIMIT printf("\n\n\t TO FIND LARGEST OF ANY NUMBER OF VALUES \t\n\n"); printf("Please Enter Total Number of Elements : "); scanf("%d", &n); getA(A,n); ShowL(A,n); //Using Insertion Sort Here system("pause"); } void getA(int A[], int n){ puts(""); for (i=0; i < n; i++){ printf("Enter Element %d : ", i+1); scanf("%d", &A[i]); } return 0; } void ShowL(int a[], int n){ for (i=1; i < n; i++){ while((a[i] < a[i-1]) && i>0){ int temp = a[i-1]; a[i-1] = a[i]; a[i] = temp; } } printf("\nLargest : %d \n", a[n-1]); }This code returns following output:
TO FIND LARGEST OF ANY NUMBER OF VALUES Please Enter Total Number of Elements : 4 Enter Element 1 : 12 Enter Element 2 : 43 Enter Element 3 : 11 Enter Element 4 : 95 Largest : 95 Press any key to continue . . .
An instance of above program running on Code::Blocks is shown below
No comments:
Post a Comment