Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - alfred_223315

#1
Hola haber si alguien me puede ayudar nesesito este algoritmo (multiplicacion de matrices) en forma recursiva...

void ingreso(int m[][30],int f,int c){
for(int i=0;i<f;i++){
    for(int j=0;j<c;j++){
     cout<<"Valor ["<<(i+1)<<"]["<<(j+1)<<"]= ";
     cin>>m[j];   
    }
}
}

void mostrar(int m[][30],int f, int c){
for(int i=0;i<f;i++){
    for(int j=0;j<c;j++){
     cout<<"Valor ["<<(i+1)<<"]["<<(j+1)<<"]= ";
     cout<<m[j]<<endl;   
    }
}
}

void multiplica(int m1[][30],int m2[][30],int p[][30],int f1,int c1,int f2,int c2){
for(int i=0;i<f1;i++){
    for(int j=0;j<c2;j++){
        for(int k=0;k<c1;k++){
        p[j]=p[j]+(m1[k])*(m2[k][j]);               
        }           
    }
}
cout<<"\n\n\t\tEL PRODUCTO DE VECTORES ES\n\n";
mostrar(p,f1,c2);
}

void inicializaValoresEnCero(int p[][30],int f,int c){
for(int i=0;i<f;i++){
    for(int j=0;j<c;j++){
    p[j]=0;
    }
}
}

int main(){
int M1[30][30],M2[30][30],P[30][30],f1,c1,f2,c2;
cout<<"\n\tPrimera Matriz"<<endl;
do{
cout<<"Ingrese el numero de filas ";
cin>>f1;
}while(f1<1||f1>30);
do{
cout<<"Ingrese el numero de columnas ";
cin>>c1;
}while(c1<1||c1>30);

ingreso(M1,f1,c1);

cout<<"\n\tSegunda Matriz"<<endl;
do{
cout<<"Ingrese el numero de filas ";
cin>>f2;
}while(f2<1||f2>30);
do{
cout<<"Ingrese el numero de columnas ";
cin>>c2;
}while(c2<1||c2>30);
ingreso(M2,f2,c2);

if(c1==f2){

cout<<"Se puede multiplicar"<<endl;
inicializaValoresEnCero(P,f1,c2);
multiplica(M1,M2,P,f1,c1,f2,c2);
}
else
cout<<"NO Se puede multiplicar"<<endl;
system("pause");
return 0;
}