da un po' di tempo sto smadonnando con questo problema:
Dati in input N numeri interi, si determini il massimo e il minimo tra essi
Il programma deve essere scritto in C .
Ecco il codice che ho scritto fino ad ora:
- Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>
int main() {
int *a,max,min,n,i;
printf("Quanti numeri vuoi inseririe? ");
scanf("%d", &n);
a = malloc(n * sizeof(int));
for (i = 0; i<n; i++) {
scanf("%d", &a[i]);
}
// Determino il maggiore dei numeri
if(a[n-1] > a[n-2]){
max = a[n-1];
}else{
max = a[n-2];
}
for (i = n - 3; i >= 0; i--) {
if(max < a[i]){
max = a[i];
}
}
// Determino il minore dei numeri
if(a[n-1] < a[n-2]){
min = a[n-1];
}else{
min = a[n-2];
}
for (i = n - 3; i >= 0; i--) {
if (min > a[i]) {
min = a[i];
}
}
printf("Massimo: %d\n", max);
printf("Minimo: %d\n", min);
return 0;
}
Il programma funziona, il problema è che l'ho creato usando un array dinamico , e quindi un puntatore.
Nel capitolo del libro in cui è presente questo problema, array e puntatori non sono stati ancora trattati, dunque non dovrei usarli.
Qualcuno a qualche idea su come farne a meno?
Grazie in anticipo per le risposte.