Sequenza Selezione Iterazione Funzioni Ricorsione Operat. su interi Stringhe Vettori Array
Tabelle File Liste Alberi Esami Maturità Preparazione esami Database Macchina di Turing Automi
Algebra Geometria Giochi            

Esercizi sugli Array

 

1

Caricare da tastiera una matrice MAT di N righe per M colonne.

2

Memorizzare in una matrice a dieci righe e dieci colonne i valori della tabellina pitagorica.

3

Memorizzare in una matrice a 30 righe e 3 colonne, il cognome, il nome e la città di residenza di 30 ragazzi.

4

Memorizzare in una matrice a N righe e 3 colonne, i primi N numeri interi, i loro quadrati, i loro cubi e stamparla.

5

Caricare una matrice MAT di N righe per M colonne, inserendo in ogni elemento il prodotto fra i suoi indici.

6

Caricare da tastiera una matrice MAT di N righe per M colonne e stampare la somma di tutti i suoi elementi.

7

Supposto di aver caricata in memoria una matrice MAT di N righe per M colonne, ordinare ogni riga in ordine crescente.

8

Ad una gara partecipano N concorrenti: di ogni partecipante si conosce il numero di iscrizione, il nome, il tempo impiegato. Stampare il numero e il tempo di quelli che hanno impiegato meno di 2 ore. Determinato poi il tempo del vincitore, stampare l'elenco dei distacchi degli altri concorrenti.

9

Ad ogni persona che fa parte di un gruppo corrisponde un codice e un nome. Vengono introdotti in input N nomi con il codice. Scrivere poi il procedimento che consente di stampare il nome della persona corrispondente al codice richiesto.

10

Confronta la colonna vincente del totocalcio con le N colonne giocate. Per ciascuna colonna fornisci il numero dei risultati esatti.

11

Data una matrice quadrata di numeri reali cioè costituita da N righe ed N colonne, determinare la matrice trasposta della matrice data, cioè la matrice ottenuta da quella di partenza scambiando le righe con le colonne.

12

Determinare il massimo ed il minimo elemento di un array bidimensionale A(M,N) fornendo anche la posizione, indice di riga e indice di colonna, all'interno dell'array.

13

Determinare il valore della somma degli elementi delle colonne di un array bidimensionale A(M,N).

14

Riempire un vettore con i nomi di N ragazzi. Riempire altresì una matrice numerica di dimensioni N x 5 con i voti di N studenti. I voti per ciascun ragazzo dovranno essere al massimo 5. Calcolare la media dei voti di ciascuno studente e memorizzarla in un vettore MEDIA di N posizioni. Calcolare anche la media globale degli N studenti. Infine stampare una tabella riportante i nomi degli studenti, la media e il relativo giudizio (sufficiente, buono,....).

15

Data una tabella contenente la classifica generale del campionato di calcio di serie A e una tabella contenente i risultati di una giornata di campionato, aggiornare la classifica generale.

16

Controllare se in una tabella che rappresenta la classifica generale del campionato di calcio di serie A sono contenuti errori nelle colonne delle reti, delle partite, dei punti e della media (cioè controllare la consistenza dei dati: per esempio la somma di tutte le reti fatte da tutte le squadre deve essere uguale a quella di tutte le reti subite ....).

17

Conoscendo la classifica generale al termine di una certa tappa del giro d'Italia e l'ordine di arrivo della tappa successiva con l'indicazione del tempo impiegato dal primo e dei distacchi di tutti gli altri, calcolare la nuova classifica generale. Si supponga che non ci siano stati ritiri e si ricordi che la classifica generale è una tabella ordinata per tempi crescenti.

19

Nella tabella seguente sono presentate le vendite settimanali (in milioni di lire) di una catena di tre supermercati ognuno dei quali è diviso in quattro reparti:

Supermercato

1

2

3

4

1

21

8

22

41

2

31

11

11

36

3

15

19

23

29

Scrivere un programma che accetti come input i dati di un array di ordine 3 x 4 dando come output le vendite complessive settimanali del singolo supermercato e della catena nel suo insieme.

19

Scrivere un programma che legga dati, riga dopo riga, da una tabella simile a quella mostrata qui sotto. Dopo aver letto tutte le righe della tabella, il programma dovrebbe visualizzare il numero della riga in cui la somma dei valori risulti massima, il valore di tale somma, e il contenuto della linea trova in questo modo.

Esempio :

91 46 55

43 59 83

64 47 45

94 25 91

51 24 96

Il programma dovrebbe gestire un numero variabile di linee in ingresso. L'uscita dovrebbe avere approssimativamente il seguente formato:

SOMMA MASSIMA: 210

NELLA RIGA: 4

CONTENUTO: 94 25 91.
 

20

Leggete 6 valori interi da ognuna delle 12 righe immesse (72 valori in tutto). Mettete i dati in un vettore bidimensionale con 12 righe e 6 colonne: ogni riga corrisponde ai dati di una linea. Riordinate i dati in ogni colonna in modo che il valore più piccolo appaia nella prima riga, ed i valori successivamente più grandi nelle righe successive. Visualizzare infine tutti i valori del vettore ordinato. Generalizzare il problema.

21

Data una matrice di ordine N costruire un vettore che contenga gli elementi dispari della matrice.

22

Data una matrice di N righe e M colonne che contenga una sotto matrice con gli elementi uguale a 1, determinare il numero di righe e di colonne di questa sotto matrice.

x x x x x x x x

x 1 1 1 x x x x

x 1 1 1 x x x x

x 1 1 1 x x x x

x 1 1 1 x x x x

x x x x x x x x

 

23

Data una matrice N x M trasferire la somma di tutti i numeri della prima riga nel primo elemento del vettore, la somma di tutti i numeri della seconda riga nel secondo elemento del vettore e così via.

24

Data una matrice 3 x 3 determinare il determinante di Sarrus.

25

Data una lista di alberghi, scegli quello più costoso e calcola il prezzo di pernottamento per una settimana.

26

Vengono introdotti N vocaboli con la loro traduzione in lingua straniera. Introdotto poi un testo formato da vocaboli compresi nell'elenco, tradurre il testo vocabolo per vocabolo.

27

Data una matrice quadrata caricare la sua diagonale principale in un vettore e trovarne il massimo.

28

Scrivere un programma che, lette due matrici dello stesso tipo, stampi la matrice somma.

29

Scrivere un programma che, lette due matrici conformabili, stampi la matrice prodotto.

30

Scrivere un programma che letta una matrice A e una costante k, stampi la matrice ottenuta moltiplicando per k tutti gli elementi di A; la nuova matrice è indicata con k x A.

31

Scrivere un programma che letta una matrice A, stampi la matrice -A i cui elementi sono gli opposti dei corrispondenti elementi di A.

32

Data una matrice A scrivere il vettore V i cui elementi sono la somma degli elementi delle corrispondenti righe di A.

33

Data una matrice A scrivere il vettore V i cui elementi sono la somma degli elementi delle corrispondenti colonne di A.

34

Scrivere un programma che letta una matrice A calcoli e stampi la somma dei valori assoluti dei suoi elementi.

35

 Scrivere un programma che, letta una matrice A, calcoli e stampi la somma (senza valore assoluto) degli elementi.

36

Scrivere un programma che, letta una matrice, stampi l'elemento di valore assoluto massimo e quello di valore assoluto minimo.

37

Scrivere un programma che, letta una matrice A, calcoli e stampi la "C" norma di A ovvero la maggiore tra le somme dei valori assoluti degli elementi di ogni colonna della matrice.

(Stampare oltre alla C-norma anche il numero della colonna alla quale corrisponde).

38

Scrivere un programma che, letta una matrice A, calcoli e stampi la "R" norma di A ovvero la maggiore tra le somme dei valori assoluti degli elementi di ogni riga della matrice.

(Stampare oltre alla R-norma anche il numero della riga alla quale corrisponde).

39

Scrivere un programma che, letta una matrice A, calcoli la norma euclidea di A ovvero la radice quadrata della somma dei quadrati degli elementi di A.

40

Sia data una matrice contenente in ciascuna delle sue n righe la data e la colonna vincente del totocalcio. Letta poi una matrice dello stesso tipo di m righe calcolare per ciascuna colonna i punti realizzati (inoltre se si tratta di un dodici o di un tredici).

Controllare che la schedina abbia la data inclusa fra quelle della matrice risultati.

41

Un viandante si trova ad attraversare un ruscello nel quale affiorano dei sassi. Il problema è quello di trovare un percorso che gli permetta di arrivare dall'altra parte senza percorrere giri viziosi. Si supponga di rappresentare il ruscello come una matrice a valori booleani, nella quale il valore di verità true rappresenta un sasso, mentre il valore false rappresenta assenza di sasso. Si suppone altresì che il viandante si trovi nella posizione 1,1 della matrice e che debba arrivare nella posizione n,n. I vincoli posti riguardano i movimenti i quali debbono consentire il passaggio da un sasso ad un altro a condizione che questi siano contigui tra di loro o per linee orizzontali o per linee verticali o per diagonale.

42

Si numerino le 64 casella di una scacchiera come illustrato in figura. Una casella è così individuata da due numeri. Scrivere un algoritmo che, date due coppie di numeri che individuano due caselle, stabilisca se le due caselle sono dello stesso colore oppure no.

 

1

2

3

4

5

6

7

8

1

X

 

X

 

X

 

X

 

2

 

X

 

X

 

X

 

X

3

X

 

X

 

X

 

X

 

4

 

X

 

X

 

X

 

X

5

X

 

X

 

X

 

X

 

6

 

X

 

X

 

X

 

X

7

X

 

X

 

X

 

X

 

8

 

X

 

X

 

X

 

X

 

43

Ordinare una matrice sia per righe che per colonne.

44

Data una matrice numerica di ordine N x M determinare qual è la riga con il massimo campo di variazione (diff. fra max e min).

45

Data una matrice quadrata di ordine N determinare la somma degli elementi sopra e sotto la diagonale principale.

46

Data una matrice quadrata di ordine N determinare la somma degli elementi sopra e sotto la diagonale secondaria.

47

Data una matrice quadrata di ordine N determinare la somma dei suoi elementi, esclusi quelli delle due diagonali.

48

Data una matrice di ordine N x M calcolare la somma degli elementi della corona esterna.

49

Siano dati i primi n numeri naturali: 1, 2, ...., n. Si dice quadrato latino di ordine n una matrice quadrata di n righe e di n colonne avente in ogni riga e colonna una delle n! permutazioni dei numeri dati, con la condizione che in ogni riga e colonna non vi siano due numeri uguali.

Ecco, ad esempio, un quadrato latino di ordine 4:

1

2

3

4

3

1

4

2

2

4

1

3

4

3

2

1

 

50

Un quadrato latino si dice normalizzato quando la 1ª riga e la 1ª colonna sono formate dalla permutazione fondamentale 1, 2, 3, ..., n. E' stato dimostrato che i quadrati latini normalizzati di ordine 2, 3, 4, 5, 6, 7 sono rispettivamente in numero di 1, 1, 4, 56, 9408, 16 942 080.

Trovare tutti i quadrati latini normalizzati di ordine 2, 3, 4, 5 e alcuni di ordine 6, 7, 8.

51

Scrivere un programma che, letta una matrice, stampi l'elemento di valore massimo e quello di valore minimo.

52

Modificare il programma dell'es. precedente, stampando l'elemento di valore assoluto massimo e quello di valore assoluto minimo.

53

Modificare il programma dell'es. 57, stampando oltre all'elemento di valore massimo e minimo anche il numero di riga e di colonna dove si trovano.

54

Modificare il programma dell'es. 58 onde stampare anche il numero della riga e della colonna nelle quali si trovano gli elementi di valore assoluto massimo e minimo.

55

Sia data una matrice in cui gli indici di riga rappresentano il tipo di vestito e gli indici delle colonne rappresentano la taglia. In ciascuna posizione della matrice sono memorizzati i mq di stoffa necessari per la confezione di ciascun vestito. Si supponga poi di avere un'altra matrice di N righe per 3 colonne; ogni colonna contiene rispettivamente il tipo del vestito da confezionare, il numero di taglia e la quantità di vestiti.

Si vuole sapere, dopo aver creato tutti i vestiti se è avanzata della stoffa e quanta ne è avanzata.