Neste exemplo, você aprenderá a encontrar o maior número inserido pelo usuário em uma memória alocada dinamicamente.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C:
- Ponteiros C
- C Alocação de memória dinâmica
- C para Loop
Encontre o maior elemento em uma memória alocada dinamicamente
#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; )
Resultado
Insira o número total de elementos: 5 Insira o número 1: 3,4 Insira o número 2: 2,4 Insira o número 3: -5 Insira o número 4: 24,2 Insira o número 5: 6,7 Número maior = 24,20
No programa, o usuário é solicitado a inserir o número de elementos, que é armazenado na variável num. Alocaremos memória para um número de valores flutuantes.
Em seguida, o usuário é solicitado a inserir números numéricos. Esses números são armazenados na memória alocada dinamicamente.
Por fim, o maior número entre esses números é apurado e impresso na tela.