V tomto príklade sa naučíte nájsť najväčší počet zadaný používateľom v dynamicky alokovanej pamäti.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku C:
- C Ukazovatele
- C Dynamické prideľovanie pamäte
- C pre slučku
Nájdite najväčší prvok v dynamicky alokovanej pamäti
#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; )
Výkon
Zadajte celkový počet prvkov: 5 Zadajte číslo 1: 3.4 Zadajte číslo 2: 2.4 Zadajte číslo 3: -5 Zadajte číslo 4: 24.2 Zadajte číslo 5: 6.7 Najväčšie číslo = 24.20
V programe je užívateľ vyzvaný na zadanie počtu prvkov, ktoré sú uložené v premennej num. Budeme prideľovať pamäť pre celkový počet pohyblivých hodnôt.
Potom je používateľ vyzvaný na zadanie číselných čísel. Tieto čísla sú uložené v dynamicky alokovanej pamäti.
Nakoniec sa určí a vytlačí sa na obrazovke najväčší počet z týchto čísel.