Fonction somme et produit d'un tableau 2D
emilie790
Messages postés
7
Statut
Membre
-
SypayV Messages postés 7399 Statut Contributeur -
SypayV Messages postés 7399 Statut Contributeur -
Bonjour à tous.
Voici mon programme :
Je pense que le problème se situe au niveau des fonctions somme et produit mais je ne le vois pas :(
Merci d'avance :)
PS : s'il vous plait ne me demandez pas d'utiliser "std::vector" car c'est un travail à rendre à mon professeur qui nous a demandé de faire comme tel donc....
Voici mon programme :
#include <iostream>
#include <conio.h>
using namespace std;
void initialiser(int **C, int taille)
{
for(int i=0; i<taille; i++)
{
for(int j=0; j<taille; j++)
{
cout << "Veuillez remplire la matrice 1 svp";
cout << "[" << i << "][" << j << "] = ";
cin >> C[i][j];
cout << endl;
}
}
}
void somme(int **C, int **D, int taille, int **Som)
{
for(int i=0; i<taille; i++)
{
for(int j=0; i<taille; j++)
{
Som[i][j] = C[i][j] + D[i][j];
}
}
}
void produit(int **C, int **D, int taille, int **Prod)
{
for(int i=0; i<taille; i++)
{
for(int j=0; j<taille; j++)
{
Prod[i][j] = Prod[i][j] + C[i][j] * D[i][j];
}
}
}
int main()
{
//TRAVAILLE EVEC DES MATRICES CARRES
int const N = 100;
int **A, **B;
int i = 0;
int j = 0;
A = new int *[N];
for(i=0; i<N; i++)
{
A[i] = new int [N];
}
i = 0;
B = new int *[N];
for(i=0; i<N; i++)
{
B[i] = new int [N];
}
int taille;
cout << "Veuillez saisir la taille des deux matrices" << endl;
cin >> taille;
cout << endl;
initialiser(A, taille);
cout << "matrice 2" << endl;
initialiser(B, taille);
//AFFICHAGE DE LA MATRICE GENRE SUPER COOL
int **Som, **Prod;
somme(A, B, taille, Som);
//AFFICHAGE DE LA MATRICE Somi
i = 0;
j = 0;
for(i=0; i<taille; i++)
{
for(j=0; j<taille; j++)
{
cout << "Som[" << i << "][" << j << "] = ";
cin >> Som[i][j];
cout << endl;
}
}
produit(A, B, taille, Prod);
//AFFICHAGE DE LA MATRICE Prod
i = 0;
j = 0;
for(i=0; i<taille; i++)
{
for(j=0; j<taille; j++)
{
cout << "Prod[" << i << "][" << j << "] = ";
cin >> Prod[i][j];
cout << endl;
}
}
i = 0;
j = 0;
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
delete [] A[i];
}
}
delete A;
A = nullptr;
i = 0;
j = 0;
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
delete [] B[i];
}
}
delete B;
B = nullptr;
return 0;
}
Je pense que le problème se situe au niveau des fonctions somme et produit mais je ne le vois pas :(
Merci d'avance :)
PS : s'il vous plait ne me demandez pas d'utiliser "std::vector" car c'est un travail à rendre à mon professeur qui nous a demandé de faire comme tel donc....
A voir également:
- Fonction somme et produit d'un tableau 2D
- Fonction si et - Guide
- Tableau word - Guide
- Clé de produit windows 10 gratuit - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
1 réponse
Bonjour,
C'est normal que vous ayez un cin dans les 2 derniers affichages ?
Et aussi votre variable N ne sert à rien. Vous devriez allouer directement en utilisant la variable taille, et donc demander la taille avant d'allouer.
J'ai aussi un doute sur le produit.
https://fr.wikipedia.org/wiki/Produit_matriciel#Exemples
C'est normal que vous ayez un cin dans les 2 derniers affichages ?
Et aussi votre variable N ne sert à rien. Vous devriez allouer directement en utilisant la variable taille, et donc demander la taille avant d'allouer.
J'ai aussi un doute sur le produit.
https://fr.wikipedia.org/wiki/Produit_matriciel#Exemples