Les matrius en C
Considerarem matrius els arrays de C de dues dimensions.
Si els haguéssim de dibuixar, ho fariem utilitzant una quadrícula
d'un determinat nombre de files i un determinat nombre de columnes.
Com creus que s'hauria de dibuixar la matriu int
dades[2][5]?
Coneixem com es pot fer un recorregut d'un vector. Però què hi ha del d'una matriu?
Com emplenaries una matriu amb les dades següents? Com la imprimiries?
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |

Sabem que els vectors s'enmagatzemen en posicions consecutives de memòria, de tal manera que quan escrivim v[3], per trobar la dada, s'agafa el valor de v (adreça del primer element del vector), se li suma 3 (aritmètica d'apuntadors) i es mira quin element hi ha en aquella posició de memòria.
Com s'enmagatzemen els elements d'una matriu? Quan cal accedir a un
element com ara
mat[20][15] quin mecanisme se seguirà?
Si tenim la matriu char
noms[100][30], cerca sinònims per noms[23],
noms[23][1]
i noms.
Anem a veure si està tot clar amb uns quants exercicis, on no només cal definir les matrius sinó també provar-les en programes.
Emplena una matriu d'enters de 10 files i 5 columnes amb nombres aleatoris
entre 1 i 100. Imprimeix-la.
Declara una matriu de 10 files que a cada fila pugui contenir un string
de fins a 20 caràcters. Demana per teclat 10 noms i enmagatzema'ls
a la matriu. Imprimeix els noms.
Modifica l'exercici anterior intercanviant el primer nom per l'últim
abans d'imprimir.
El pas d'una matriu a una funció és delicat. Informa't de com s'ha de fer.
Fes una funció que rebi com a paràmetre una matriu d'enters i substitueixi
cada un d'ells pel seu quadrat.