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)

mercredi 3 mai 2006 à 23:41:27 | execution en DEV C++

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


jeudi 4 mai 2006 à 00:08:54 | Re : execution en DEV C++

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


jeudi 4 mai 2006 à 14:11:40 | Re : execution en DEV C++

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


jeudi 4 mai 2006 à 21:10:19 | Re : execution en DEV C++

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


jeudi 4 mai 2006 à 22:13:50 | Re : execution en DEV C++

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


jeudi 4 mai 2006 à 23:29:03 | Re : execution en DEV C++


Cette discussion est classé dans : int, printf, for, l2, sommet


Répondre à ce message

Sujets en rapport avec ce message

Problem Affichage de mon Tableau [ par Orezza ] salut à tous, j'ai un blem à l'affichage du tableau. l'utilisateur parametre son tableau, c lui qui l'initilize mais j'arrive pas à afficher apres le affichage de caractere dans une grille [ par anzelus ] bonjour, voila, je suis un debutant en c, je dois faire un programme qui affiche une grille de points sur console, apres afficher un caractere special pb en c urgenttttttttttttttttt [ par natacha86 ] bonjour, j'ai un probleme avec mon programme, il ne veut pas sortir, j'ai fais un menu et apparement ya un bug mais je ne comprend rien.le code est as help une fonction qui a besoin de vous [ par natacha86 ] Re bonjour a tout le monde, voila j'ai mis tout le prog si vous voulez tester, en fait le pb viens de la fonctino tri_shell(), je ne sais pas pkoi ell methode de simplexe en c [ par antttar ] #include #include #include #include #include #include #include </ 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 random et printf avec for :( [ par sokotanic ] salutj'ai besoin d'aide#include #include #include //Abdou chez les Almohadesusing namespace std;int main(){    srand(time(NULL));int j,i;i Trie bulle [ par afrikanoo ] #include #include void main(){ clrscr(); int n; <font color="#d3d3d encadre un texte en c/c++ [ par lil_adriano ] Slt tout le monde je debute en C/C++ je voudrai faire cadre  pour un mot mais j'y arrive pas.j'ai essayer de faire un mais on peu pas faire un mot cor 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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.