PDA

Visualizza la versione completa : [C] Estrarre elementi riga da un matrice


Downloader
09-06-2008, 17:08
Ciao,
vorrei chiedervi questo:
ho necessita di estrapolare tutti gli elementi di riga di una matrice e metterli all'interno di un array.

Ad esempio se avessi la matrice M formata da:


12345
45678
94521


e volessi estrapolare gli interi di riga 0 avrei bisogno di un array che contenga 1,2,3,4,5.
E' possibile far ciņ usando semplicemente i puntatori?
Se si come?


Grazie

mondobimbi
09-06-2008, 17:10
se la matrice č implementata come un vettore di puntatori si, altrimenti devi copiare i valori in un nuovo vettore
ciao
sergio

Downloader
09-06-2008, 17:31
Nel caso fosse un vettore di puntatori come dovrei fare?

mondobimbi
09-06-2008, 18:24
una possibile implementazione


#include <stdio.h>
#include <stdlib.h>

int main ()
{

int v1[5] = { 1, 2, 3, 4, 5 };
int v2[5] = { 4, 5, 6, 7, 8 };
int v3[5] = { 9, 4, 5, 2, 1 };

int size = 3;
int ** matrix = ( int ** ) malloc ( size * sizeof(int *) );

matrix [0] = v1;
matrix [1] = v2;
matrix [2] = v3;

printf ("%d\n", matrix[1][3]); // vale 7
printf ("%d\n", matrix[2][1]); // vale 4

// un puntatore alla prima riga
int *vector = matrix [0];
// attenzione che modificando vector si modifica anche matrix

return (0);

}


ciao

Downloader
12-06-2008, 16:27
Grazie per il tuo aiuto, e scusa il ritardo (tra tutti gli esami ho avuto poco tempo di scrivere sil forum)

Loading