Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problem de compilation

methode de gauss jordan

    24 avril 2008 à 11:34:01

    SAlut tout le monde j'ai besoin de votre aide pour la compilation de mon programme, j'utilise code::blocks comme compilateur. Voici mon programme, essayez de compiler et rendez moi une reponse merci, chez moi je n'arrive pas :(

    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream.h>
    #include <process.h>
    #include <stdlib.h>
    void saisie_mat(float m[100][100],int,int);
    void affich_mat(float m[100][100],int l,int c);
    void gauss_jordan(float m1[100][100],float m2[100][100],int l,int c);
    void affich_systeme(float m1[100][100],float m2[100][100],int l,int c);
    void copie_mat(float m[100][100],float m1[100][100],int l,int c);
    void identite_mat(float m[100][100],int l);
    void main()
    {
    	int a,b;
    	int e,f;
    	float mat[100][100],mat1[100][100];
    	system ("cls");
    	system ("color 3f");
    	printf(" ===> Saisissez votre matrice carree A : \n\n");
    	printf("Combien de lignes : ");
    	scanf("%d",&a);
    	printf("Combien de colonnes : ");
    	scanf("%d",&b);
    	
    	saisie_mat(mat,a,b);
    	printf("\n\n");
    	printf(" ===> Saisissez votre matrice B : \n\n");
    	printf("Combien de lignes : ");
    	scanf("%d",&e);
    	printf("Comien de colonnes : ");
    	scanf("%d",&f);	
    	saisie_mat(mat1,e,f);
    	
    	printf("\n\n");
    		
    	affich_systeme(mat,mat1,a,b);
    	printf("\n\n");
    	gauss_jordan(mat,mat1,a,b);
    	printf("\n\n");
    	affich_systeme(mat,mat1,a,b);
    }
    	
    void saisie_mat(float m[100][100],int l,int c)
    { int i,j;
      
      for(i=0;i<l;i++)
      {
        for(j=0;j<c;j++)
    	{
    		printf("  A[%d][%d] : ",i+1,j+1);
    		scanf("%f",&m[i][j]);
    	}
         printf("\n");
      }
    }
    void affich_systeme(float m1[100][100],float m2[100][100],int l, int c)
    {
    	int i,j;
    	printf(" ===>Affichage du systeme lineaire : \n\n\n");
    	
    	for(i=0;i<l;i++)
    	{
    		printf("  (");
    		for(j=0;j<c;j++)
    		{
    			printf("  %.2f  ",m1[i][j]);
    		}
    		printf(" )    (X%d)   =",i+1);
    		printf("\t%.2f",m2[i][0]);
    		printf("\n\n");
    	}
    }
    void gauss_jordan(float m1[100][100],float m2[100][100],int l,int c)
    {
    	int i;
    	int j;
    	float tmp,tmp2;
    	float m3[100][100];
    	float m4[100][100];
    	float m5[100][100];
    	float m6[100][100];
    	int k=0;
    	identite_mat(m4,l);
    	affich_mat(m4,l,l);
    	for(i=0;i<l;i++)
    	{
    		copie_mat(m1,m3,l,c);
    		copie_mat(m2,m5,l,1);
    		copie_mat(m4,m6,l,l);
    		tmp=m1[i][i];
    		for(j=0;j<c;j++)
    		{
    			m1[i][j]=m1[i][j]/tmp;
    			m2[i][j]=m2[i][j]/tmp;
    			m4[i][j]=m4[i][j]/tmp;
    		}
    		
    		for(k=0;k<l;k++)
    		{
    			if(k!=i)
    			{
    				tmp2=m1[k][i]/tmp;
    				for(j=0;j<c;j++)
    				{
    					m1[k][j]=m1[k][j]-tmp2*m3[i][j];
    					m4[k][j]=m4[k][j]-tmp2*m4[i][j];
    					m2[k][j]=m2[k][j]-tmp2*m5[i][j];
    				}
    			}
    							
    		}
    		affich_systeme(m1,m2,l,c);
    		printf("\n\n\n");
    		printf(" ===> Matrice Inverse :");
    		affich_mat(m4,l,c);
    	}
    }
    	
    	
    	
    	
    void affich_mat(float m[100][100],int l,int c)
    {
    	int i,j;
    	printf("  Affichage de la matrice  \n\n\n");
    	for(i=0;i<l;i++)
    	{
    		for(j=0;j<c;j++)
    		{
    			printf("\t%.2f",m[i][j]);
    		}
    		printf("\n\n");
    	}
    }
    void copie_mat(float m[100][100],float m1[100][100],int l,int c)
    {
    	int i,j;
    	for(i=0;i<l;i++)
    	{
    		for(j=0;j<c;j++)
    		{
    			m1[i][j]=m[i][j];
    		}
    	}
    }
    void identite_mat(float m[100][100],int l)
    {
    	int i,j;
    	for(i=0;i<l;i++)
    	{
    		for(j=0;j<l;j++)
    		{
    			m[i][j]=0;
    		}
    		m[i][i]=1;
    	}
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      24 avril 2008 à 12:26:21

      Un petit effort en donnant la liste des erreurs aurait été un peu plus simple.

      J'ai compilé ton programme, il y a juste deux #include qui ne trouvent pas les fichiers. conio.h et process.h, qui ne doivent donc pas servir à grand chose.

      Pire. Le programme ne fait pas que compiler, il se lance et à l'air (à première vue) de fonctionner.

      En gros, lorsque le compilateur te dit qu'il ne trouve pas un fichier, regarde s'il est nécessaire et s'il ne l'est pas, enlève son inclusion.
      • Partager sur Facebook
      • Partager sur Twitter
        24 avril 2008 à 13:07:30

        que vient faire stdio.h la dedans et pourquoi utilises-tu printf et scanf. tu ne fais pas de c++ pour le moment....
        • Partager sur Facebook
        • Partager sur Twitter
          25 avril 2008 à 20:44:43

          Je dois donc supprimer quelques librairies :s

          Voilà les erreurs que ça affiche:

          Citation : Pas de titre

          6 C:\Dev-Cpp\include\c++\3.4.2\backward\iostream.h:31, from C:\Dev-Cpp\SansNom15.cpp In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31, from C:\Dev-Cpp\SansNom15.cpp

          6 C:\Dev-Cpp\SansNom15.cpp from C:\Dev-Cpp\SansNom15.cpp

          32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

          16 C:\Dev-Cpp\SansNom15.cpp `main' must return `int'




          • Partager sur Facebook
          • Partager sur Twitter
            25 avril 2008 à 21:00:34

            ce programme n'a absolument rien de C++ :(
            (à part les prototypes)
            #include <stdio.h>
            #include <conio.h>
            #include <math.h>
            #include <string.h>
            #include <stdlib.h>//1
            #include <iostream.h>
            #include <process.h>
            #include <stdlib.h>//2 lol
            


            pour être franc je ne comprend pas ce que tu souhaite faire...
            (une matrice en console? )
            • Partager sur Facebook
            • Partager sur Twitter
              25 avril 2008 à 21:39:55

              `main' must return `int'

              int main()
              {
                  // ...
                  return 0;
              }
              
              • Partager sur Facebook
              • Partager sur Twitter
                25 avril 2008 à 22:20:25

                <iotream.h>, c'est plutot <iostream> mais a quoi te sert cette biblioteque si au lieu d'utiliser cin et cout tu utilise scanf et printf..... et ton compilateur te le dit, il ne trouve pas iostream.
                ensuite pour le reste du code je ne sais pas et pour le moment je n'ai pas envie de le lire.
                • Partager sur Facebook
                • Partager sur Twitter

                Problem de compilation

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown