Testo dell'esercizio
Scrivere un programma che definisca una tabella di N*M interi e che, utilizzando le funzioni sotto indicate, svolga le seguenti operazioni:
1 - inizializzi la tabella inserendo M valori in ogni riga
2 - per ogni riga della tabella calcoli il valore minimo, memorizzando il risultato in modo da ricordare tutti i minimi calcolati
3 - calcoli il minimo dei minimi
4 - calcoli quante volte il valore minimo, calcolato al punto 3, è contenuto tra i minimi, calcolato al punto 2.
Funzioni:
- funzione che inizializzi un insieme di numeri
- funzioni che calcoli il valore minimo di un insieme di numeri
- funzione che calcoli quante volte un dato valore x è ripetuto in un insieme di numeri.
mostra soluzione
16 | void inizializza( int vet[MAX], int n); |
17 | int min( int vet[MAX], int n); |
18 | int n_volte( int vet[MAX], int n, int x); |
23 | int mat[MAX][MAX],minimi[MAX],minimo,volte,n,m,x,i; |
27 | printf ( "inserire il numero di righe : " ); |
29 | printf ( "inserire il numero di colonne : " ); |
31 | } while (n<1 || n>= MAX || m<1 || m>= MAX); |
35 | printf ( "riga %d:\n" ,i+1); |
36 | inizializza(mat[i],m); |
41 | minimi[i] = min(mat[i],m); |
44 | minimo = min(minimi,n); |
47 | volte = n_volte(minimi,n,minimo); |
50 | printf ( "numero minimo : %d, comparso : %d volte\n" ,minimo,volte); |
53 | void inizializza( int vet[MAX], int n){ |
60 | printf ( "inserire il valore numero %d : " ,i+1); |
65 | int min( int vet[MAX], int n){ |
79 | int n_volte( int vet[MAX], int n, int x){ |
Testi Consigliati:
Il linguaggio C. Principi di programmazione e manuale di riferimento. Ediz. MyLab. Con Contenuto digitale per download e accesso on line
C guida alla programmazione: Conoscere lo standard C11 dalle basi del linguaggio alle direttive del preprocessore (Programmare con C Vol. 1)
Programmazione in C
torna