PDA

Visualizza la versione completa : [C] Significato notazione "**"


lovemetal86
24-01-2006, 20:30
#include <stdio.h>
#include <stdlib.h>

void vector2matrix(float *v,float **mm,int n);
void stampamatrice(float **mm,int n);

main() {
float *v,**mm;
int i,m,n;
printf("\nInserire l'ordine della matrice:");
scanf("%d",&n);
m=(int)(n*(n+1)/2);
v=(float*)malloc(m*sizeof(float));
printf("\nInserire gli elementi non nulli della matrice per righe:\n");
for(i=0;i<m;++i) scanf("%f",&v[i]);
mm=(float**)malloc(n*sizeof(float*));
for(i=0;i<n;++i) mm[i]=(float*)malloc(n*sizeof(float));
vector2matrix(v,mm,n);
stampamatrice(mm,n);
free(v);
for(i=0;i<n;++i) free(mm[i]);
free(mm);
}

void vector2matrix(float *v,float **mm,int n) {
int i,j,k;
k=0;
for(i=0;i<n;++i){
for(j=0;j<i;++j) mm[i][j]=0;
for(j=i;j<n;++j) mm[i][j]=v[k++];
}
return;
}

void stampamatrice(float **mm,int n) {
int i,j;
printf("\n");
for(i=0;i<n;++i) {
printf("\n");
for(j=0;j<n;++j) printf("%f ",mm[i][j]);
}
printf("\n");
return;
}



Ma che significa **mm

alka
24-01-2006, 20:38
Ciao e benvenuto nel forum di Programmazione.

Ti segnalo da subito la lettura del nostro Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=862015) che contiene tutte le norme da seguire per partecipare correttamente a quest'area del forum.

In modo particolare, devi sempre indicare il linguaggio utilizzato nel titolo della discussione, indicando la versione nel caso in cui ne esistesse pił di una, assieme ad una sintesi breve ma significativa ed esplicativa del problema.

Il titolo di questa discussione l'ho corretto io.

Detto questo, ciao e...buon forum! :ciauz:

DYNAM!C+
24-01-2006, 20:48
puntatore ad un puntatore

oregon
24-01-2006, 21:33
Nel caso specifico

float **mm

puntatore ad un puntatore a float

lovemetal86
24-01-2006, 21:43
vi ringrazio

Loading