Probleme dans le calcule de determinant en C :(

Fermé
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015 - Modifié par Whismeril le 25/12/2014 à 22:09
 evilfalcon - 26 déc. 2014 à 13:41
Bonjour,



Bonjour à vous Tous , s'il vous plait j'ai essayé plusieur fois d'ecrire un programme en c qui calcule le determinant d'une matrice carré en C d'ordre 3 , mais ca marche pas chaque foiss! :( , je pense que je vais mourir avec ca :( !! j'ai besoin de vous s'il vous plaaait , voila ce que j'ai fait mais ca marche paas , pas du tt :( !!

#include<stdlib.h>

#include<stdio.h>

#include<math.h>

main()

{int i,j,a[12][12],k,p,som=0;

printf("entrer les elements de la matrice `\n");

for(i=0;i<3;i++){

                 for(j=0;j<3;j++)

                 { scanf("%d",&a[i][j]);}}

printf("la matrice est \n");

for(i=0;i<3;i++){

                 for(j=0;j<3;j++)

                 { printf("  %d",a[i][j]);}printf("\n");}

printf("calculer\n");

for(i=0;i<3;i++)

{ j=1;

 if(i!=0){

          j=0;

          }

          k=2;

          if(i==2)

          {

                  k=1;

                  }

        p=pow(-1 , i ) ;

 som = som + p*((a[0][i])*(a[1][j]*a[2][k])-(a[1][k]*a[2][j]));

        }

        printf(" le determinnt est %d\n",som);

        system("pause");

        }


ca marche paas :( , il me donne des resultats faux :( , donner moi votre solution s'il vous plaait !! corriger moi les erreurs

EDIT: Ajout de la coloration syntaxique.

1 réponse

regle de sarus:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j;
    int matrice [3][3];
    int det = 0;

    printf("entrer les elements de la matrice 3*3\n");

    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            printf("element %d, %d ",i+1,j+1);
            scanf("%d",&matrice[i][j]);
        }
    }
    printf("la matrice est \n");

    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            printf("  %d",matrice[i][j]);
        }
        printf("\n");
    }

    det = matrice [0][0] * matrice [1][1] *matrice [2][2];
    det = det + matrice [1][0] * matrice [2][1] * matrice [0][2];
    det = det + matrice [0][1] * matrice [1][2] * matrice [2][0];
    det = det - matrice [2][0] * matrice [1][1] * matrice [0][2];
    det = det - matrice [1][0] * matrice [0][1] * matrice [2][2];
    det = det - matrice [0][0] * matrice [2][1] * matrice [1][2];

    printf("le determinant de la matrice est : %d",det);
    return 0;
}
0