V tomto příkladu se naučíte najít největší číslo zadané uživatelem v dynamicky přidělené paměti.
Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:
- Ukazatele C.
- C Dynamická alokace paměti
- C pro smyčku
Najděte největší prvek v dynamicky přidělené 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ýstup
Zadejte celkový počet prvků: 5 Zadejte číslo 1: 3,4 Zadejte číslo 2: 2,4 Zadejte číslo 3: -5 Zadejte číslo 4: 24,2 Zadejte číslo 5: 6,7 Největší číslo = 24,20
V programu je uživatel vyzván k zadání počtu prvků, které jsou uloženy v proměnné num. Budeme přidělit paměť pro num počet float hodnot.
Poté je uživatel vyzván k zadání čísel. Tato čísla jsou uložena v dynamicky přidělené paměti.
Nakonec se určí největší počet z těchto čísel a vytiskne se na obrazovku.