Matrices poco densas
Hola!! tengo un problema con este tema, se supone k debo almacenar los elementos de la matriz triangular inferior en un vector para luego imprimirlo, esto en un programa con funciones, cuando imprimo directamente los numeros si aparecen pero al asignar estos numeros al vector y luego imprimirlo solo me imprime el ultimo numero 10 veces, aqui dejo el codigo de esa función a ver si alguien me puede ayudar y decirme en k estoy mal, de ante mano gracias.
void getvector(int m[4][4])
{ int posini=0;
int v[10]={0};
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
if(m[i][j]!=0)
for(int k=0;k<10;k++)
{ v[k]=m[i][j];}
imprimevector(v);
}
void imprimevector(int v[10])
{ cout<<"n";
for(int b=0;b<10;b++)
cout<<v[b];
cout<<endl;
}
void getvector(int m[4][4])
{ int posini=0;
int v[10]={0};
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
if(m[i][j]!=0)
for(int k=0;k<10;k++)
{ v[k]=m[i][j];}
imprimevector(v);
}
void imprimevector(int v[10])
{ cout<<"n";
for(int b=0;b<10;b++)
cout<<v[b];
cout<<endl;
}
Tu funcion getvector esta mal. Seria asi:
void getvector(int m[4][4])
{ int k=0;
int v[10]={0};
for(int i=0;i<4;i++)
for(int j=0;j<i;j++)
v[k++]=m[i][j];
imprimevector(v);
}
Ah, y si tu matriz es de 4*4 (eso veo), tu vector v tendra 6 elementos (porque la matriz triangular inferior tendria 6) si no estoy mal, entonces tu for iria hasta 6 al mostrar
void imprimevector(int v[10])
{ cout<<"n";
for(int b=0;b<6;b++)
cout<<v[b];
cout<<endl;
}
Saludos, desde La Paz-Boliva
PD: Lo que pasaba antes es que a cada momento sobreescribias tu vector, por eso se quedaba con el ultimo valor repetido
Lo que pasaba es que
void getvector(int m[4][4])
{ int k=0;
int v[10]={0};
for(int i=0;i<4;i++)
for(int j=0;j<i;j++)
v[k++]=m[i][j];
imprimevector(v);
}
Ah, y si tu matriz es de 4*4 (eso veo), tu vector v tendra 6 elementos (porque la matriz triangular inferior tendria 6) si no estoy mal, entonces tu for iria hasta 6 al mostrar
void imprimevector(int v[10])
{ cout<<"n";
for(int b=0;b<6;b++)
cout<<v[b];
cout<<endl;
}
Saludos, desde La Paz-Boliva
PD: Lo que pasaba antes es que a cada momento sobreescribias tu vector, por eso se quedaba con el ultimo valor repetido
Lo que pasaba es que
