/* Il programma legge `n' struct di persone (`n' inserito dall'utente) con due campi, nome ed eta', e restituisce il nome della piu' giovane o di una delle piu' giovani. Utilizzare una funzione per la lettura dei dati delle struct e una che restituisca l'indice della persona selezionata. */ #include struct persona { char nome[50]; int eta; }; // Riempie i campi dell'array di struct `a'. void carica(struct persona a[], int n) { for (int i = 0; i < n; i++) { cout << "Immetti il nome: "; cin >> a[i].nome; cout << "Immetti l'eta': "; cin >> a[i].eta; cout << endl; } } // Restituisce l'indice della persona piu' giovane presente // nell'array di struct `a'. int giovane (struct persona a[], int n) { int index = 0; for (int i = 0; i < n; i++) if (a[index].eta > a[i].eta) index = i; return index; } int main() { const int max_elementi = 10; persona elenco[max_elementi]; int num_persone; do { cout << "Quante persone immetti (max 10)? "; cin >> num_persone; } while (num_persone <= 0 || num_persone > max_elementi); cout << endl; carica(elenco, num_persone); cout << "Il piu' giovane e' " << elenco[giovane(elenco, num_persone)].nome << endl; return 0; }