begin process at 2008 09 06 03:10:54
1 237 633 membres
33 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : execution en DEV C++ [ Archives / Au secours ] (lucky31)

execution en DEV C++ le 03/05/2006 23:41:27

lucky31
bonsoir, j'ai 1 probleme avec l'execution de mon prg ecrit en c et j'utilise le dev c++
voila mon code source alors si vous pouvez m'aider merci d'avance
 #include <stdio.h>
#define N 30
void tp1 ();
void tp2 ();
void tp3 ();
void tp4 ();
 main ()
 {
//******************************************************************************

  int choisir ();
  int index (char s); 
 
//****************************************************************************** 
  char sommet [30];
  char l2[30];
  int l1[N];
  int M[N][N];
  int r,nb,nbr;
  int choix;
  char s;
//****************************************************************************** 

   
  
       choisir ();
         do
         {
        
               if (choix==1) tp1 ();
               if (choix==2) tp2 ();
               if (choix==3) tp3 ();
               //if (choix==4) tp4 ();
               }
         while (choix==5);
      

    }
//******************************************************************************   
  int choisir ()
    {int choix;
      printf ("tapez 1 pour effectuer le tp2  \n");
      printf ("tapez 2 pour effectuer le tp1  \n");
      printf ("tapez 3 pour effectuer le tp3  \n");
      printf ("tapez 4 pour effectuer le tp4  \n");
      printf ("    Donner votre choix    ");
      scanf ("%s\n",&choix);
    
      return (choix);     
    }
//******************************************************************************
index (char s)
{

int r=0;
int p;
p=1;

while ((sommet[p]!=s) && (sommet[p]!=' '))
{
p=p+1;
}
if (sommet[p]==s)
{
return(p);
}
else
{
r=r+1;
sommet[r]=s;
return (r);
}
}

//******************************************************************************
  void tp2 ()
    {  tp1();
      int i,j;
      char som1,som2;
      int nb;
      int nbr;
      char sommet[30];
      int M[30][30];
      printf ("donner le nombre de sommets : ");
      scanf ("%d\n",&nb);
      printf ("donner le nombre d'arcs : ");
      scanf ("%d\n",&nbr);
        //initialisation du tableau sommet
        for (i=1;i<=nb;i++) 
          {
             sommet[i]= ' ' ;
          }
        //initialisation de la matrice M
        for (i=1;i<=nb;i++)
          for (j=1;j<=nb;j++)
             M[i][j]=0;
        //parcours en profondeur du graphe
        for (i=1;i<=nbr;i++)
          {
            int x,y;
            printf ("donner l'extremite initiale de l'arc  \n: ");
            scanf ("%c",&som1);
            printf ("donner l'extremite terminale de l'arc \n: ");
            scanf ("%c",&som2);
            //x donne l'indice de som1 dans le tableau sommet
            x=index(som1);
            // meme chose pour y
            y=index(som2);
            M[x][y]=1;
          } 
        //affichage de la matrice
        for (i=1;i<=nb;i++)
          {
             for (j=1;j<=nb;j++)
               printf ("%7d",M[i][j]);
               printf ("\n");
          }
        tp1 ();
    }                  
//******************************************************************************
  void tp1 ()
    {
      int i,j,k,d,nb,M[30][30],l1[30];
      char sommet[30],l2[30];
       k=0; 
      //la lecture de la matrice sommet-sommet
        for(i=1;i<=nb;i++)
          {
            for(j=1;j<=nb;j++)
              {
                scanf( "%d",M[i][j]);
              }   
          } 
        //la lecture du tableau des sommets
        for (i=1;i<=nb;i++)
          {
            scanf ("%c",sommet[i]);
          }     
        //initialisation de la liste l2
        for (i=1;i<=N;i++)
          {
           l2[i]=' ';               
          }
        //creation de la liste l2 
        for (i=1;i<=nb;i++)
          {
            for (j=1;j<=nb;j++)
              {
                if( M[i][j]==1)
                 {
                   printf (" le successeur du sommet : ");
                   printf ("%c",sommet[i]);
                   printf ("  est  : ");
                   printf ("%c\n",sommet[j]);
                   k=k+1;
                   l2[k]=sommet[j];
                 }
              }
          }
        d=i;
        for (j=1;j<=nb;i++)
          {
            if (M[d][j]!=1)
              {
                k=k+1;
                l2[k]='*';
              } 
          }
         
       //affichage de la liste l2  
      for(i=1;i<=N;i++)
        {
          while (l2[i]!=' ' )
            {
              printf("%c",l2[i]);
              printf ("  ");
            }
        }
    //initialisation de la liste l1
          for(i=1;i<N;i++)
             {
               l1[i]=0;
             }
    //creation de la liste l1  
          i=1;
          j=1;
          k=0;
            a:if(M[i][j]==1)
              {
                 k=k+1;
                 l1[k]=k;
                 j=j+1;
                   while(j<=nb)
                     {
                        b:if(M[i][j]==1)
                          {
                             k=k+1;
                             j=j+1;
                             goto b;
                          }
                        else
                          {
                              j=j+1;
                              goto b;
                          }
                     }
                   i=i+1;
                   j=1;
                   goto a;
              }                        
            else
              {
                 j=j+1;
                 goto a;
              }          
        int p;
        p=k;
          for (i=1;i<=N;i++)
            {
              if(l2[i]=='*')
                {
                  l1[p]=p;
                }
            }           
        //affichage de la liste l1  
      for(i=1;i<=N;i++)
        {
          while (l1[i]!=0)
            {
              printf("%d",l1[i]);
              printf ("  ");
            }
        }   
     
  }
//******************************************************************************
  void tp3 ()
    {
     int i,j,nb,M[30][30];
       for (i=1;i<=nb;i++)
         {
           for (j=1;j<=nb;j++)
             {
               if ((M[i][j]==1)&&(i!=j))    
                 {
                   if ((M[j][i]==1)&&(i!=j))
                     {
                        printf (" le graphe est symétrique ");                   
                        printf ("\n");
                     }
                   else printf (" le graphe est antisymetrique ");
                 }
               if ((M[i][j]!=1) && (M[j][i]!=1))
                 {
                   printf (" le graphe est complet   ");           
                   printf ("\n");
                 }
               else printf("le graphe n'est pas complet");
               }
}
 

c 1 TP basé sur les graphes


Re : execution en DEV C++ le 04/05/2006 00:08:54

LaPatoshe

Salut. Y a effectivement quelques erreurs.
Remplaces main ( ) par int main( ) et mets avant l'accolade de fin : return 0;
Toutes tes déclarations placées dans ton main sont locales. cependant ton programme demande ces variables déclarées dans plusieurs fonctions. sors donc ces déclarations et place les dans l'entête de ton prog.

Ces déclarations sont les suivantes :
  char sommet [30];
  char l2[30];
  int l1[N];
  int M[N][N];
  int r,nb,nbr = 0;
  int choix;
  char s;
  int choisir ();
  int index (char s); 
Elles doivents être placées juste avant ton int main ( ) 

Dernier problème en tout cas au niveau des erreurs pour la compilation : 
Mets à zéro tes variables lors de leur création.
ex : int r, nb, nbr = 0 comme je l'ai fait ci dessus.
Bon courage.
 
LaPatoshe


Re : execution en DEV C++ le 04/05/2006 14:11:40

lucky31
salut merci pour ton aide mais il y a tjrs des erreurs qui s'afichent
expected unqualified-id before "return"
 expected `,' or `;' before "return"
expected declaration before '}' token


Re : execution en DEV C++ le 04/05/2006 21:10:19

lucky31
 #include <stdio.h>
#define N 30
void tp1 ();
void tp2 ();
void tp3 ();
void tp4 ();
 int choisir ();
 int index (char s);
  char sommet [30];
  char l2[30];
  int l1[N];
  int M[N][N];
  int r,nb,nbr;
  int choix;
  char s;
 int main ()
 {

//****************************************************************************** 
int r, nb, nbr = 0;
   
  
       choisir ();
         do
         {
        
               if (choix==1) tp1 ();
               if (choix==2) tp2 ();
               if (choix==3) tp3 ();
               //if (choix==4) tp4 ();
               }
         while (choix==5);
      

    }
//******************************************************************************   
  int choisir ()
    {int choix;
      printf ("tapez 1 pour effectuer le tp2  \n");
      printf ("tapez 2 pour effectuer le tp1  \n");
      printf ("tapez 3 pour effectuer le tp3  \n");
      printf ("tapez 4 pour effectuer le tp4  \n");
      printf ("    Donner votre choix    ");
      scanf ("%s\n",&choix);
    
      return (choix);     
    }
//******************************************************************************
 int index (char s)
{

int r=0;
int p;
p=1;

while ((sommet[p]!=s) && (sommet[p]!='*'))
{
p=p+1;
}
if (sommet[p]==s)
{
return(p);
}
else
{
r=r+1;
sommet[r]=s;
return (r);
}
}

//******************************************************************************
  void tp2 ()
    {  tp1();
      int i,j;
      char som1,som2;
      int nb;
      int nbr;
      char sommet[30];
      int M[30][30];
      printf ("donner le nombre de sommets : ");
      scanf ("%d\n",&nb);
      printf ("donner le nombre d'arcs : ");
      scanf ("%d\n",&nbr);
        //initialisation du tableau sommet
        for (i=1;i<=nb;i++) 
          {
             sommet[i]= ' ' ;
          }
        //initialisation de la matrice M
        for (i=1;i<=nb;i++)
          for (j=1;j<=nb;j++)
             M[i][j]=0;
        //parcours en profondeur du graphe
        for (i=1;i<=nbr;i++)
          {
            int x,y;
            printf ("donner l'extremite initiale de l'arc  \n: ");
            scanf ("%c",&som1);
            printf ("donner l'extremite terminale de l'arc \n: ");
            scanf ("%c",&som2);
            //x donne l'indice de som1 dans le tableau sommet
            x=index(som1);
            // meme chose pour y
            y=index(som2);
            M[x][y]=1;
          } 
        //affichage de la matrice
        for (i=1;i<=nb;i++)
          {
             for (j=1;j<=nb;j++)
               printf ("%7d",M[i][j]);
               printf ("\n");
          }
        tp1 ();
    }                  
//******************************************************************************
  void tp1 ()
    {
      int i,j,k,d,nb,M[30][30],l1[30];
      char sommet[30],l2[30];
       k=0; 
      //la lecture de la matrice sommet-sommet
        for(i=1;i<=nb;i++)
          {
            for(j=1;j<=nb;j++)
              {
                scanf( "%d",M[i][j]);
              }   
          } 
        //la lecture du tableau des sommets
        for (i=1;i<=nb;i++)
          {
            scanf ("%c",sommet[i]);
          }     
        //initialisation de la liste l2
        for (i=1;i<=N;i++)
          {
           l2[i]=' ';               
          }
        //creation de la liste l2 
        for (i=1;i<=nb;i++)
          {
            for (j=1;j<=nb;j++)
              {
                if( M[i][j]==1)
                 {
                   printf (" le successeur du sommet : ");
                   printf ("%c",sommet[i]);
                   printf ("  est  : ");
                   printf ("%c\n",sommet[j]);
                   k=k+1;
                   l2[k]=sommet[j];
                 }
              }
          }
        d=i;
        for (j=1;j<=nb;i++)
          {
            if (M[d][j]!=1)
              {
                k=k+1;
                l2[k]='*';
              } 
          }
         
       //affichage de la liste l2  
      for(i=1;i<=N;i++)
        {
          while (l2[i]!=' ' )
            {
              printf("%c",l2[i]);
              printf ("  ");
            }
        }
    //initialisation de la liste l1
          for(i=1;i<N;i++)
             {
               l1[i]=0;
             }
    //creation de la liste l1  
          i=1;
          j=1;
          k=0;
            a:if(M[i][j]==1)
              {
                 k=k+1;
                 l1[k]=k;
                 j=j+1;
                   while(j<=nb)
                     {
                        b:if(M[i][j]==1)
                          {
                             k=k+1;
                             j=j+1;
                             goto b;
                          }
                        else
                          {
                              j=j+1;
                              goto b;
                          }
                     }
                   i=i+1;
                   j=1;
                   goto a;
              }                        
            else
              {
                 j=j+1;
                 goto a;
              }          
        int p;
        p=k;
          for (i=1;i<=N;i++)
            {
              if(l2[i]=='*')
                {
                  l1[p]=p;
                }
            }           
        //affichage de la liste l1  
      for(i=1;i<=N;i++)
        {
          while (l1[i]!=0)
            {
              printf("%d",l1[i]);
              printf ("  ");
            }
        }   
     
  }


//******************************************************************************
  void tp3 ()
    {
     int i,j,nb,M[30][30];
       for (i=1;i<=nb;i++)
         {
           for (j=1;j<=nb;j++)
             {
               if ((M[i][j]==1)&&(i!=j))    
                 {
                   if ((M[j][i]==1)&&(i!=j))
                     {
                        printf (" le graphe est symétrique ");                   
                        printf ("\n");
                     }
                   else printf (" le graphe est antisymetrique ");
                 }
               if ((M[i][j]!=1) && (M[j][i]!=1))
                 {
                   printf (" le graphe est complet   ");           
                   printf ("\n");
                 }
               else printf("le graphe n'est pas complet");
               }
}

}

}
return (0);
}

voila le nouveau code est que quelquun peut essaye de l'executer en dev c++ et voir pour m'aider svp


Re : execution en DEV C++ le 04/05/2006 22:13:50

LaPatoshe

Essaies ça :

#include <stdio.h>
#define N 30
void tp1 ();
void tp2 ();
void tp3 ();
void tp4 ();
 int choisir ();
 int index (char s);
  char sommet [30];
  char l2[30];
  int l1[N];
  int M[N][N];
  int r,nb,nbr;
  int choix;
  char s;
 int main ()
 {

//****************************************************************************** 
int r =0, nb =0, nbr = 0;
   
  
       choisir ();
         do
         {
        
               if (choix==1) tp1 ();
               if (choix==2) tp2 ();
               if (choix==3) tp3 ();
               //if (choix==4) tp4 ();
               }
         while (choix==5);
       return 0;

    }
//******************************************************************************   
  int choisir ()
    {int choix;
      printf ("tapez 1 pour effectuer le tp2  \n");
      printf ("tapez 2 pour effectuer le tp1  \n");
      printf ("tapez 3 pour effectuer le tp3  \n");
      printf ("tapez 4 pour effectuer le tp4  \n");
      printf ("    Donner votre choix    ");
      scanf ("%s\n",&choix);
    
      return (choix);     
    }
//******************************************************************************
 int index (char s)
{

int r=0;
int p;
p=1;

while ((sommet[p]!=s) && (sommet[p]!='*'))
{
p=p+1;
}
if (sommet[p]==s)
{
return(p);
}
else
{
r=r+1;
sommet[r]=s;
return (r);
}
}

//******************************************************************************
  void tp2 ()
    {  tp1();
      int i,j;
      char som1,som2;
      int nb;
      int nbr;
      char sommet[30];
      int M[30][30];
      printf ("donner le nombre de sommets : ");
      scanf ("%d\n",&nb);
      printf ("donner le nombre d'arcs : ");
      scanf ("%d\n",&nbr);
        //initialisation du tableau sommet
        for (i=1;i<=nb;i++) 
          {
             sommet[i]= ' ' ;
          }
        //initialisation de la matrice M
        for (i=1;i<=nb;i++)
          for (j=1;j<=nb;j++)
             M[i][j]=0;
        //parcours en profondeur du graphe
        for (i=1;i<=nbr;i++)
          {
            int x,y;
            printf ("donner l'extremite initiale de l'arc  \n: ");
            scanf ("%c",&som1);
            printf ("donner l'extremite terminale de l'arc \n: ");
            scanf ("%c",&som2);
            //x donne l'indice de som1 dans le tableau sommet
            x=index(som1);
            // meme chose pour y
            y=index(som2);
            M[x][y]=1;
          } 
        //affichage de la matrice
        for (i=1;i<=nb;i++)
          {
             for (j=1;j<=nb;j++)
               printf ("%7d",M[i][j]);
               printf ("\n");
          }
        tp1 ();
    }                  
//******************************************************************************
  void tp1 ()
    {
      int i = 0,j = 0,k = 0,d = 0,nb = 0,M[30][30],l1[30];
      char sommet[30],l2[30];
       k=0; 
      //la lecture de la matrice sommet-sommet
        for(i=1;i<=nb;i++)
          {
            for(j=1;j<=nb;j++)
              {
                scanf( "%d",M[i][j]);
              }   
          } 
        //la lecture du tableau des sommets
        for (i=1;i<=nb;i++)
          {
            scanf ("%c",sommet[i]);
          }     
        //initialisation de la liste l2
        for (i=1;i<=N;i++)
          {
           l2[i]=' ';               
          }
        //creation de la liste l2 
        for (i=1;i<=nb;i++)
          {
            for (j=1;j<=nb;j++)
              {
                if( M[i][j]==1)
                 {
                   printf (" le successeur du sommet : ");
                   printf ("%c",sommet[i]);
                   printf ("  est  : ");
                   printf ("%c\n",sommet[j]);
                   k=k+1;
                   l2[k]=sommet[j];
                 }
              }
          }
        d=i;
        for (j=1;j<=nb;i++)
          {
            if (M[d][j]!=1)
              {
                k=k+1;
                l2[k]='*';
              } 
          }
         
       //affichage de la liste l2  
      for(i=1;i<=N;i++)
        {
          while (l2[i]!=' ' )
            {
              printf("%c",l2[i]);
              printf ("  ");
            }
        }
    //initialisation de la liste l1
          for(i=1;i<N;i++)
             {
               l1[i]=0;
             }
    //creation de la liste l1  
          i=1;
          j=1;
          k=0;
            a:if(M[i][j]==1)
              {
                 k=k+1;
                 l1[k]=k;
                 j=j+1;
                   while(j<=nb)
                     {
                        b:if(M[i][j]==1)
                          {
                             k=k+1;
                             j=j+1;
                             goto b;
                          }
                        else
                          {
                              j=j+1;
                              goto b;
                          }
                     }
                   i=i+1;
                   j=1;
                   goto a;
              }                        
            else
              {
                 j=j+1;
                 goto a;
              }          
        int p;
        p=k;
          for (i=1;i<=N;i++)
            {
              if(l2[i]=='*')
                {
                  l1[p]=p;
                }
            }           
        //affichage de la liste l1  
      for(i=1;i<=N;i++)
        {
          while (l1[i]!=0)
            {
              printf("%d",l1[i]);
              printf ("  ");
            }
        }   
     
  }


//******************************************************************************
void tp3 ()
{
  int i = 0,j = 0,nb = 0,M[30][30];
        for (i=1;i<=nb;i++)
  {
   for (j=1;j<=nb;j++)
            {
    if ((M[i][j]==1)&&(i!=j))    
                {
     if ((M[j][i]==1)&&(i!=j))
                    {
      printf (" le graphe est symétrique ");                   
                        printf ("\n");
                    }
                    else printf (" le graphe est antisymetrique ");
    }
    if ((M[i][j]!=1) && (M[j][i]!=1))
                {
     printf (" le graphe est complet   ");           
                    printf ("\n");
                }
                else printf("le graphe n'est pas complet");
              
   }

  }
}

A+.
LaPatoshe


Re : execution en DEV C++ le 04/05/2006 23:29:03

Classé sous : int, printf, for, l2, sommet

Participer à cet échange

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS