C Program to Find Largest Number Using Dynamic Memory Allocation
To understand this example, you should have the knowledge of following C programming topics:
- C Programming Pointers
- C Dynamic Memory Allocation
- C Programming for Loop
Depending upon the number of elements, the required size is allocated which prevents the wastage of memory. If no memory is allocated, error is displayed and the program is terminated.
Example: Find Largest Element Using Dynamic Memory Allocation - calloc()
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, num;
float *data;
printf("Enter total number of elements(1 to 100): ");
scanf("%d", &num);
// Allocates the memory for 'num' elements.
data = (float*) calloc(num, sizeof(float));
if(data == NULL)
{
printf("Error!!! memory not allocated.");
exit(0);
}
printf("\n");
// Stores the number entered by the user.
for(i = 0; i < num; ++i)
{
printf("Enter Number %d: ", i + 1);
scanf("%f", data + i);
}
// Loop to store largest number at address data
for(i = 1; i < num; ++i)
{
// Change < to > if you want to find the smallest number
if(*data < *(data + i))
*data = *(data + i);
}
printf("Largest element = %.2f", *data);
return 0;
}
Output
Enter total number of elements(1 to 100): 10 Enter Number 1: 2.34 Enter Number 2: 3.43 Enter Number 3: 6.78 Enter Number 4: 2.45 Enter Number 5: 7.64 Enter Number 6: 9.05 Enter Number 7: -3.45 Enter Number 8: -9.99 Enter Number 9: 5.67 Enter Number 10: 34.95 Largest element: 34.95
Check out these related examples:
- C Program to Find the Largest Number Among Three Numbers
- C Program to Find Largest Element of an Array
- C Program to Store Information Using Structures with Dynamically Memory Allocation
No comments:
Post a Comment