Mi aiutate a scrivere un programma in c++ che esegua la molt

di il
1 risposte

Mi aiutate a scrivere un programma in c++ che esegua la molt

Devo fare un programma come compito da portare a scuola che esegua la moltiplicazione tra due matrici in c++....ho già fatto un pezzo di programma inserendo due matrici e sommandole,ora le devo moltiplicare,ve lo mostro:

#include <iostream>
#include <stdlib.h>
#include <math.h>
int A[5][5], B[6][6], C[6][6], riga, col, righe, cols;

using namespace std;

int main(int argc, char *argv[])
{
do{
do{
cout<<"Inserisci numero righe: _\b";cin>>righe;
}
while((righe<=0)||(righe>5));
do{
cout<<"Inserisci numero colonne: _\b";cin>>cols;
}
while((cols<=0)||(cols>5));
}
while(righe==cols);


cout<<"inserimento matrice A"<<endl;
for(riga=0;riga<righe;riga++){
cout<<"Riga "<<riga+1<<"\n";
for(col=0;col<cols;col++){
cout<<"Colonna "<<col+1<<" :";cin>>A[riga][col];
}
}

cout<<"inserimento matrice B"<<endl;
for(riga=0;riga<righe;riga++){
cout<<"Riga "<<riga+1<<"\n";
for(col=0;col<cols;col++){
cout<<"Colonna "<<col+1<<" :";cin>>B[riga][col];
}
}
cout<<"La somma tra le matrici e' di:"<<endl;
for(riga=0;riga<righe;riga++){
for(col=0;col<cols;col++){
C[riga][col]=A[riga][col]+B[riga][col];

}
}
for(riga=0;riga<righe;riga++){
for(col=0;col<cols;col++){
cout<<C[riga][col]<<" ";

}
cout<<"\n";
}
cout<<"\n\n\a";
system("PAUSE");
return 0;
}


Mi aiutate a scrivere invece la moltiplicazione?(il programma va fatto col dev c++)

1 Risposte

  • Re: Mi aiutate a scrivere un programma in c++ che esegua la molt

    Non conosco il C++, ma non penso sia molto diverso dal C. Assunto che A[n][m] e B[m][v] allora
    
    
    int i, j, k;
    double res[n][v], partial=0.0;
    
    for( i=0 ; i<n ; i++)
    {
    	for( k=0 ; k<v ; k++)
    	{
    
    		for( j=0 ; j<m ; j++)
    		{
    			partial=partial+A[i][j]*B[j][k];
    		}
    	res[i][k]=partial;
    	partial=0.0;
    	}
    }
    
    
    non l'ho provato, ma dovrebbe funzionare
Devi accedere o registrarti per scrivere nel forum
1 risposte