begin process at 2012 05 28 14:06:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

besoin d aide pour les opérations sur les matrices


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

besoin d aide pour les opérations sur les matrices

mardi 14 septembre 2010 à 16:35:48 | besoin d aide pour les opérations sur les matrices

mbasse

bonjour voici mon programme sur les addition la soustraction la multiplication et le recherche de déterminant sur les matrices. Tjrs lors que je compile le programme se plante lors qu'on fait la saisie je ne vois pas d ou vient l erreur.
Je doit aussi faire l'inverse mais je n y arrive pas merci de m aider




#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define ncol 3
#define nli 3

//prototypes
void Somme(int x[nli][ncol], int y[nli][ncol], int n);
void Soustraction(int x[nli][ncol], int y[nli][ncol], int n);
int Determinant( int x[nli][ncol], int n );
void affiche_matrice(int mat[nli][ncol], int n);
void saisie(int mat[nli][ncol], int n);

// Procédure affichage
void affiche_matrice(int mat[nli][ncol], int n)
{
int i, j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\t%d",mat[i][j]);
}
printf("\n");
}
printf("\n");
}

// procédure saisie
void saisie(int mat[nli][ncol], int n)
{
int i,j;
printf("Saisie Matrice\n");
for(i=0; i<n; i++)
{
printf("saisie de la ligne n°%d \n", i+1);
for(j=0; j<n; j++)
{
printf("mat[%d][%d] = ", i+1, j+1);
scanf("%d", &((mat)[i][j]));
}
}
}

//procédure somme
void Somme(int x[nli][ncol], int y[nli][ncol], int n)
{
int i, j;
int z[nli][ncol]={0,0,0,0,0,0,0,0,0};
saisie(x[nli][ncol],n);
affiche_matrice(x[nli][ncol],n);
saisie(y[nli][ncol],n);
affiche_matrice(y[nli][ncol],n);

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
z[i][j]=x[i][j]+y[i][j];
}
}
affiche_matrice(z,n);
}

//procédure soustraction
void Soustraction(int x[nli][ncol], int y[nli][ncol], int n)
{
int i,j;
int z[nli][ncol]={0,0,0,0,0,0,0,0,0};
saisie(x[nli][ncol],n);
affiche_matrice(x[nli][ncol],n);
saisie(y[nli][ncol],n);
affiche_matrice(y[nli][ncol],n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
z[i][j]=x[i][j]-y[i][j];
}
}
affiche_matrice(z,n);
}

//procédure multiplication
void Multiplication(int x[nli][ncol], int y[nli][ncol], int n)
{
int i,j,k;
int z[nli][ncol];
saisie(x[nli][ncol],n);
affiche_matrice(x[nli][ncol],n);
saisie(y[nli][ncol],n);
affiche_matrice(y[nli][ncol],n);

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
for(j=0;j<n;j++)
{
z[i][j]= z[i][j] + x[i][k]*y[k][j];
}
}

}
affiche_matrice(z,n);
}

/*procédure déterminant d'une matrice elle supprime dans la matrice x les lignes nli
et les colonnse ncol puis enregistre les resultats dans la matrice y*/
/*void Determinant( int x[nli][ncol],y[nli][ncol], int n )
{
int i,j,d,e;

for(i=0;i<10;i++)
{
d=0;
if(i!=nli)
{
for(j=0;j<10;j++)
if(j!=ncol)
{
y[e][d]= x[i][j];
d++;
}
e++;
}
}


return det;
}*/

//programme principal
int main()
{
int choix, fin_prog,n;
int x[nli][ncol],y[nli][ncol];

fin_prog = 0;

while(!fin_prog)
{
system("cls");
printf("\n******* Opération sur les matrices *******\n");

// Choix de methode de resolution
printf("\n******* MENU PRINCIPAL *******\n\n");

printf("1. Somme de deux matrices \n");
printf("2. Soustraction de deux matrices \n");
printf("3. Multiplication de deux matrices \n");
printf("4. Déterminant d'une matrice \n");
printf("5. Inversion d'une matrice\n");
printf("6. Quitter le programme\n\n");
printf("votre choix: ");
scanf("%d", &choix);

switch(choix)
{
case 1: Somme(x[nli][ncol],y[nli][ncol],n); break;
case 2: Soustraction(x[nli][ncol],y[nli][ncol],n); break;
case 3: Multiplication(x[nli][ncol],y[nli][ncol],n); break;
/*case 4: Déterminant(); break;
case 5: Inversion(); break;
*/ case 6: fin_prog = 1; break;
default: printf("votre choix n'est pas valide.\n");
system("pause");
}
}
return 0;
}
vendredi 17 septembre 2010 à 15:53:46 | Re : besoin d aide pour les opérations sur les matrices

Chouchou182

Salut.
Lors d'un appel à la fonction saisie,
x[nli][ncol]
est un entier (int). Tu dois lui plutôt lui passer un tableau:
saisie(x,n);

En espérant que ça te permette d'avancer,
--
Chouchou.
dimanche 19 septembre 2010 à 13:35:07 | Re : besoin d aide pour les opérations sur les matrices

mbasse

merci chouchou j ai pu avancer mais sais tu comment on fait l inverse?


Cette discussion est classée dans : int, printf, matrice, ncol, nli


Répondre à ce message

Sujets en rapport avec ce message

Multiplication d'une matrice par un scalaire [ par skrime ] Bonjour, j'ai un exercice à faire qui consiste à multiplier une matrice par un scalaire en C (la prof ne veut pas qu'on se serve des boucles FOR), je compilation mai au lancement "erreur la memoire ne peu pas pas etre read" [ par touny23 ] je maitrise pas tro le C.mai comme j ai un projet a faire dessus pour la rentré , je sui obligé de m y mettre .j arrive a compiler sous dev-cpp mai lo Return tableau? [ par zut69 ] Bonjour,Je suis en train d'écrire un petit programme sur les matrices en C, mais vu que je veux faire quelque chose d'assez général, j'ai besoin que d Produit matriciel en c renvoit des valeurs complètement fausses [ par bilel59 ] Bonjout à tous, je sollicite votre aide pour la raison indiquée dans le titre, en effet le produif matriciel que j'effectue renvoit des valeurs vraime HELP [ par alex64100 ] BONOURje doit réaliser un   prog de tri de caractèresvoici mon code#include #include #include #include int main (int argc,  char ar tri d'un tableau de struct [ par sdiri_med ] Salut à tous j'ai un petit problème de tri d'un tableau de structurede but d'extraire l'employer le plus âgé Pouvez-vous m'aider s.v.p a résoudre se la programmation de l'algorithme du simplexe [ par soums2009 ] salut à tous j'ai un probleme  avec mon code qui implemente l'algoritme du symplexe et je sollicite votre aide pour pouvoir terminer et rendre mon dev probleme 8 dames fonction sans prise [ par mehdislim59 ] bonjour je suis nouvo et je debute en programmation et je voudrais savoir comme resoudre mon petit probleme sur les 8 reines je suis mon enoncé qui me 8 reines [ par mehdislim59 ] bonjour je suis nouvo et je debute en programmation et je voudrais savoir comme resoudre mon petit probleme sur les 8 reines je suis mon enoncé qui me rien ne s'affiche a l'execution(les tubes ordinaires) [ par brekiano ] bonsoir,  svp chui débutant dans la programmation systeme sous unix.j'ai fait ce programme qui affiche normalement le résultats de ce pipes :    ]$ ps


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales