Besoin d'un code de programme en c
justelefils
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
justelefils Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
justelefils Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
salut en faite suis à la recherche d'un programme en c qui permet de:
-Saisir et d'afficher les éléments de A et de B(A et B etant deux matrices).
-Faire une fonction pour calculer leur déterminant <-----
-Faire les fonctions qui permettent de faire le produit et la somme de A et B.
-Faire une fonction qui calcul l'inverse d'une matrice <------
-Faire une fonction qui calcule la transposée d'une matrice <------
les plus urgents sont ceux munis de <-----
merci..
salut en faite suis à la recherche d'un programme en c qui permet de:
-Saisir et d'afficher les éléments de A et de B(A et B etant deux matrices).
-Faire une fonction pour calculer leur déterminant <-----
-Faire les fonctions qui permettent de faire le produit et la somme de A et B.
-Faire une fonction qui calcul l'inverse d'une matrice <------
-Faire une fonction qui calcule la transposée d'une matrice <------
les plus urgents sont ceux munis de <-----
merci..
A voir également:
- Besoin d'un code de programme en c
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Mettre en veille un programme - Guide
4 réponses
Salut,
suis à la recherche d'un
Ben, tu nous montreras où t'en est avec la recherche, et on t'aidera pour la suite.
suis à la recherche d'un
Ben, tu nous montreras où t'en est avec la recherche, et on t'aidera pour la suite.
Je sens qu'il s'agit d'un exercice qu'on t'a demandé de faire... ;)
Je vais pas te donner la réponse directement, mais plutôt une aide...
As-tu pensé à utiliser des tableaux à deux dimensions? (int **tab)
Pour écrire ou lire dans la case i-j : tab[i][j]
Je suis pas un pro du C, donc prends mes indications avec des pincettes.
J'avoue que en C ça doit être assez chiant... En C++ tu l'aurais déjà terminé les doigts dans le nez et les yeux bandés...
Je vais pas te donner la réponse directement, mais plutôt une aide...
As-tu pensé à utiliser des tableaux à deux dimensions? (int **tab)
Pour écrire ou lire dans la case i-j : tab[i][j]
Je suis pas un pro du C, donc prends mes indications avec des pincettes.
J'avoue que en C ça doit être assez chiant... En C++ tu l'aurais déjà terminé les doigts dans le nez et les yeux bandés...
hasardeuse
Il n'y a pas de place au hasard dans la déclaration de tableaux en 2D ^^. Soit tu le fais bien, soit tu le fais mal, tout comme en C++.
"chiante"
J'imagine que tu parles de tableaux "dynamiques" :
La syntaxe est légèrement moins lourde en C++ :
Mais bon, de là à dire que c'est beaucoup plus pénible, faut pas abuser ^^.
De plus, en C, tu peux utiliser le VLA apparu avec la norme C99 (en C++, ce n'est pas standard), et utiliser :
Il n'y a pas de place au hasard dans la déclaration de tableaux en 2D ^^. Soit tu le fais bien, soit tu le fais mal, tout comme en C++.
"chiante"
J'imagine que tu parles de tableaux "dynamiques" :
La syntaxe est légèrement moins lourde en C++ :
En C : scanf("%d",&taille); int *tab = malloc( sizeof(*tab) * taille); .... free(tab); En C++ : std::cin >> taille; int *tab = new int [taille]; .... delete []tab;
Mais bon, de là à dire que c'est beaucoup plus pénible, faut pas abuser ^^.
De plus, en C, tu peux utiliser le VLA apparu avec la norme C99 (en C++, ce n'est pas standard), et utiliser :
scanf("%d",&taille); int tab[taille];
en faite c'est pas un exercice d'ecole mais un exercice personnel.jai commencé et je n'arrive pas à faire les 3 parties ennoncées..la preuve voici ce que jai fait:
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
void saisie_somme(int *A,int *B,int *C,int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("A[%d,%d] \n",i,j);
scanf(" \n %d" , &A[i*n+j]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("B[%d,%d] \n",i,j);
scanf(" \n %d" , &B[i*n+j]);
}
}
void affichage(int *C,int n)
{
int i,j;
printf("Affichage du tableau \n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(j==0)
{
printf("\n %d \t",C[i*n+j]);
}
else
{
printf("\n %d \t",C[i*n+j]);
}
}
main()
{
int n;
int *A,*B,*C;
printf("Donner n \n");
scanf("\n %d",&n);
A=(int*)malloc(n*n*sizeof(int));
B=(int*)malloc(n*n*sizeof(int));
C=(int*)malloc(n*n*sizeof(int));
saisie_somme(A,B,C,n);
affichage(C,n);
}
#include<stdlib.h>
#include<stdio.h>
#define NC 3
#define NL 3
void main()
{
int i,j,mat1[NL][NC],mat2[NL][NC];
int mat3[NL][NC],m,l,k,n;
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("valeur de la ligne %d et de la colonne %d",i,j);
scanf("\n %d",&mat1[i][j]);
}
}
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("la ligne %d et la colonne %d",i,j);
scanf("\n %d",&mat2[i][j]);
}
}
l=m=n=k=0;
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
mat3[n][m]=mat1[i][j]+mat2[k][l];
k++;
m++;
}
l++;
n++;
}
for(n=0;n<NL;n++)
{
for(m=0;m<NC;m++)
{
printf("\n %d",&mat3[m][n]);
}
}
}
voila ce que j'ai fait.
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
void saisie_somme(int *A,int *B,int *C,int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("A[%d,%d] \n",i,j);
scanf(" \n %d" , &A[i*n+j]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("B[%d,%d] \n",i,j);
scanf(" \n %d" , &B[i*n+j]);
}
}
void affichage(int *C,int n)
{
int i,j;
printf("Affichage du tableau \n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(j==0)
{
printf("\n %d \t",C[i*n+j]);
}
else
{
printf("\n %d \t",C[i*n+j]);
}
}
main()
{
int n;
int *A,*B,*C;
printf("Donner n \n");
scanf("\n %d",&n);
A=(int*)malloc(n*n*sizeof(int));
B=(int*)malloc(n*n*sizeof(int));
C=(int*)malloc(n*n*sizeof(int));
saisie_somme(A,B,C,n);
affichage(C,n);
}
#include<stdlib.h>
#include<stdio.h>
#define NC 3
#define NL 3
void main()
{
int i,j,mat1[NL][NC],mat2[NL][NC];
int mat3[NL][NC],m,l,k,n;
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("valeur de la ligne %d et de la colonne %d",i,j);
scanf("\n %d",&mat1[i][j]);
}
}
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("la ligne %d et la colonne %d",i,j);
scanf("\n %d",&mat2[i][j]);
}
}
l=m=n=k=0;
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
mat3[n][m]=mat1[i][j]+mat2[k][l];
k++;
m++;
}
l++;
n++;
}
for(n=0;n<NL;n++)
{
for(m=0;m<NC;m++)
{
printf("\n %d",&mat3[m][n]);
}
}
}
voila ce que j'ai fait.
Salut,
Créer deux fichiers comme tu as fait, c'est bien. Mais par contre, il ne faut qu'un main, et créer des fichiers headers contenant le prototype des fonctions.
Le prototype de main sans arguments c'est : int main(void);. N'oublie pas le return 0;
scanf("\n %d",&n);
Ne mets pas de \n dans le scanf. Tout simplement : scanf("%d",&n);
printf("\n %d",&mat3[m][n]);
Là, tu affiches l'adresse. Pour afficher le contenu : printf("\n %d",mat3[m][n])
l=m=n=k=0;
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
mat3[n][m]=mat1[i][j]+mat2[k][l];
k++;
m++;
}
l++;
n++;
}
Tu souhaites réaliser quelle opération matricielle avec ça ?
Cdlt
Créer deux fichiers comme tu as fait, c'est bien. Mais par contre, il ne faut qu'un main, et créer des fichiers headers contenant le prototype des fonctions.
Le prototype de main sans arguments c'est : int main(void);. N'oublie pas le return 0;
scanf("\n %d",&n);
Ne mets pas de \n dans le scanf. Tout simplement : scanf("%d",&n);
printf("\n %d",&mat3[m][n]);
Là, tu affiches l'adresse. Pour afficher le contenu : printf("\n %d",mat3[m][n])
l=m=n=k=0;
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
mat3[n][m]=mat1[i][j]+mat2[k][l];
k++;
m++;
}
l++;
n++;
}
Tu souhaites réaliser quelle opération matricielle avec ça ?
Cdlt
merci pou la modif..
en faite ces deux programmes differents..jai fait de deux manieres..le premier programme est la saisie et laffichage du reslutat et le deuxieme programme ces la somme..maintenant jai besoin dun programme(fonction qui me permet de calculer la transposée, l'inverse et le determinant d'une matrice...
merci
en faite ces deux programmes differents..jai fait de deux manieres..le premier programme est la saisie et laffichage du reslutat et le deuxieme programme ces la somme..maintenant jai besoin dun programme(fonction qui me permet de calculer la transposée, l'inverse et le determinant d'une matrice...
merci