Salut tout le monde je veux calculer la somme et le produit de 2 matrices à "n" dimension j'ai travaillé sur la somme de 2 matrices de dim2 a partir de mon travaille dites moi qu'est ce je dois modifier pour réussir à traiter l'exo
cordialement
NB : les lignes 35 et 36 c'est ma petite touche perso
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
int main ()
{
int Co1,Co2,Co3,Co4,Bo1,Bo2,Bo3,Bo4,s;
printf ("\tEntrer les coefficents de la Matrice A\n");
printf ("Entrer le coefficent mat[0][0]= ");
scanf ("%d",&Co1);
printf ("\nEntrer le coefficent mat[0][1]= ");
scanf ("%d",&Co2);
printf ("\nEntrer le coefficent mat[1][0]= ");
scanf ("%d",&Co3);
printf ("\nEntrer le coefficent mat[1][1]= ");
scanf ("%d",&Co4);
printf ("\nLa matrice A est\n ");
printf ("\t\t%d\t%d\n",Co1,Co2);
printf ("\tA=\n\t\t%d\t%d\n",Co3,Co4);
printf ("\n\nEntrer les coefficents de la Matrice B ");
printf ("\nEntrer le coefficent mat[0][0]= ");
scanf ("%d",&Bo1);
printf ("\nEntrer le coefficent mat[0][1]= ");
scanf ("%d",&Bo2);
printf ("\nEntrer le coefficent mat[1][0]= ");
scanf ("%d",&Bo3);
printf ("\nEntrer le coefficent mat[1][1]= ");
scanf ("%d",&Bo4);
printf ("\nLa matrice B est \n");
printf ("\t\t%d\t%d\n",Bo1,Bo2);
printf ("\tB=\n\t\t%d\t%d\n",Bo3,Bo4);
printf ("\nLa Matrice somme est\n");
printf ("\t\t%d\t%d\n",Co1+Bo1,Co2+Bo2);
printf ("\tC=\n\t\t%d\t%d\n",Co3+Bo3,Co4+Bo4);
printf ("\n\nMerci d'avoir utiliser notre service a bientot\n");
printf ("\t\t\t\t\t\tprogrammeur'Bladych BOTSEBE'");
getch();
return 0;
}
Oui, enfin une matrice c'est un tableau à deux dimensions, je ne vois pas un seul tableau dans ton code...
Pour faire la somme ou le produit d'une matrice il faut ... une matrice et une double-boucle pour la parcourir, ainsi qu'une variable qui contient le résultat.
Et tu n'as pas besoin de conio ici, pourquoi tout les débutants l'utilisent ? C'est à la mode ?
Un simple appel à getchar suffit à mettre ton pogramme en pause ici.
Tu part de la fin en commancant par rendre ton programme "interactif"...
salut moi62100 merci pour ta reponse, pour les tableau je l'ai compris bien avant comme je travaillais en dimension 2 je n'avais pas bésoins de tableau
Je vien de trouver sa sur le forum j'essai de modifier en supprimant la fonction "void" mais sa ne marche pas tu peu m'aider
#include <stdio.h>
#include <stdlib.h>
void somme(float A[][50],float B[][50],float C[][50],int n)
{int j,i;
for(i=0;i<n;i++)
for (j=0;j<n;j++)
C[i][j]=A[i][j]+B[i][j];
}
int main(int argc, char *argv[])
{
float a[50][50],b[50][50],c[50][50];
int i,j,nb;
printf ("donne nb\n");
scanf ("%d",&nb);
printf ("remplisage da la matrice a\n");
for(i=0;i<nb;i++)
for (j=0;j<nb;j++)
scanf("%f",&a[i][j]);
printf("le renplisage de la matrice b\n");
for(i=0;i<nb;i++)
for (j=0;j<nb;j++)
scanf("%f",&b[i][j]);
somme(a,b,c,nb);
for(i=0;i<nb;i++)
for (j=0;j<nb;j++)
printf("la somme est %f\n",c[i][j]);
system("PAUSE");
return 0;
Ta fonction somme ne peux prendre que des matrices carrées, ce qui limite ses possibilitées. Tu pourrait lui passer sa taille en x et y. Pareil dans ta fonction main.
Après les boucles for sans au moins un bloc d'indentation ce n'est pas très lisible.
Tu n'as pas besoin de system("PAUSE") non plus, ni de argc et argv.
Il peut utiliser getchar, qui est une fonction standard.
Et encore, si l'utilisateur veut voir ce que ça affiche, il n'a qu'a ouvrir la console avant et lancer le programme avec. Comme ça pas besoin de rajouter des instructions inutiles à l'execution du programme.
Ce qu'il veut dire, c'est que comme ils n'ont pas encore vu les fonctions en cours, on va tout de suite voir qu'il n'a pas fait son exercice tout seul :-)
Ce que tu peux faire au début, c'est de copier-coller le code de la fonction à l'endroit ou elle est appellée, et de remplacer les noms de variables par ceux qui correspondent et quelques autres adaptations si il y en a.
Et par contre, revois un peu ton indentation parce que ce n'est pas très agréable à lire la.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(int argc, char *argv[])
{
int i,j,dim,a[50][50],b[50][50],c[50][50];
printf ("donne dim :");
scanf ("%d",&dim);
printf ("remplisage da la matrice a\n");
for(i=0;i<dim;i++)
{
for (j=0;j<dim;j++)
{
printf("Enter la valeur de A[%d][%d] ",i,j);
scanf("%d",&a[i][j]);
printf("\n");
}
}
printf("\n===> Matrice A <===\n");
for(i=0;i<dim;i++)
{
for (j=0;j<dim;j++)
printf("%7d",a[i][j]);
printf("\n");
}
printf("le renplisage de la matrice b\n");
for(i=0;i<dim;i++)
{
for (j=0;j<dim;j++)
{
printf("Enter la valeur de B[%d][%d] ",i,j);
scanf("%d",&b[i][j]);
printf("\n");
}
}
printf("\n===> Matrice B <===\n");
for(i=0;i<dim;i++)
{
for (j=0;j<dim;j++)
printf("%7d",b[i][j]);
printf("\n");
}
for(i=0;i<dim;i++)
{
for (j=0;j<dim;j++)
c[i][j]=a[i][j]+b[i][j];
}
printf("La somme des matrices A et B est la matrice C : \n");
printf("\n===> Matrice c <===\n");
for(i=0;i<dim;i++)
{
for (j=0;j<dim;j++)
printf("%7d", c[i][j]);
printf("\n");
}
printf ("Merci d'avoir utiliser notre service a bientot\n");
printf ("\t\t\t\t\t\tprogrammeur'Bladych BOTSEBE'");
system("PAUSE");
return 0;
}
@ÉlisabethPalaza Bonjour, merci de ne pas déterrer d'ancien sujet résolu. Créer le votre dans le respect des règles du forum à savoir qu'un message commence par des règles de politesses (Un bonjour ou des salutations à la communauté et ce termine par des remerciements par avance pour les futures réponses), la description de votre problématique et le code que vous avez écrit inséré sur le forum à l'aide de l'outil d'insertion de code soit le bouton code </>.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Je ferme ce sujet. En cas de désaccord, me contacter par MP.
j'avai oublier de mettre la resolution la voici