|
Trouver une ressource
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)
Informations & options pour cette discussion
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
Livres en rapport
|
Comparez les prix Nouvelle version
|