U ovom ćete primjeru naučiti pronaći najveći broj koji je korisnik unio u dinamički dodijeljenu memoriju.
Da biste razumjeli ovaj primjer, trebali biste imati znanje sljedećih C programskih tema:
- C Pokazatelji
- C Dinamička dodjela memorije
- C za Loop
Pronađite najveći element u dinamički dodijeljenoj memoriji
#include #include int main() ( int num; float *data; printf("Enter the total number of elements: "); scanf("%d", &num); // Allocating memory for num elements data = (float *)calloc(num, sizeof(float)); if (data == NULL) ( printf("Error!!! memory not allocated."); exit(0); ) // Storing numbers entered by the user. for (int i = 0; i < num; ++i) ( printf("Enter Number %d: ", i + 1); scanf("%f", data + i); ) // Finding the largest number for (int i = 1; i < num; ++i) ( if (*data < *(data + i)) *data = *(data + i); ) printf("Largest number = %.2f", *data); return 0; )
Izlaz
Unesite ukupan broj elemenata: 5 Unesite broj 1: 3.4 Unesite broj 2: 2.4 Unesite broj 3: -5 Unesite broj 4: 24.2 Unesite broj 5: 6.7 Najveći broj = 24.20
U programu se od korisnika traži da unese broj elemenata koji je pohranjen u varijablu num. Dodijelit ćemo memoriju za brojni broj plutajućih vrijednosti.
Zatim se od korisnika traži da unese numeričke brojeve. Ti su brojevi pohranjeni u dinamički dodijeljenoj memoriji.
Konačno, najveći broj među tim brojevima određuje se i ispisuje na ekranu.