IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

probleme d'affichage : résultat


Sujet :

C

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 77
    Points : 30
    Points
    30
    Par défaut probleme d'affichage : résultat
    bonsoir , j'ai pas compris la faute ici , j'ai essayé pas mal de fois mais j'ai rien compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include<stdio.h>
    #include<stdlib.h>
       int nt,t,i,j;
       char c;
       char ch[100];
       char T[100];char N[100];
      int main()
      {
      	char M[nt][t];
        printf("donenz le nombre des varibles non terminaux\n");
       do{
       	printf("donnez un entier\n");
       	scanf("%d",&nt);
       }while(nt<0 && nt>100 );
      printf("donenz le nombre des varibles terminaux\n");
       do{
       	printf("donnez un entier\n");
       	scanf("%d",&t);
       }while(t<0 && t>100);
     
       for (i=0 ;i<nt ;i++)
       {
       	for(j=0 ; j<t ;j++)
     
       		M[i][j]='0';
       }
        for (i=0 ;i<nt ;i++)
       {
       	for(j=0 ; j<t ;j++)
            printf("%c\n",M[i][j]);
     
       }
       printf("donnez les varibles non terminaux:\n");
               for(i=0;i<nt;i++)
               {
               	do{
               		printf("var%d",i);
               		scanf("%c\n",&c);
              }while(c>'Z'&&c<'A');
               N[i]=c;
               }
       printf("donnez les varibles  terminaux:\n");
               for(i=0;i<t;i++)
               {
               	do{printf("var%d",i);
               		scanf("%c\n",&c);
    				}while(c>'z'&&c<'a');
    		    T[i]=c;
    		}
    		printf("donnez les regles de productions\n");
    		for(i=0;i<nt;i++)
    		{
    			printf("donnez les derivations\n");
    		   printf("%c\n",N[i]);
    		   scanf("%s\n",&ch);
    			printf("%c",N[i]);
    			printf("->%s\n",ch);
     
    		}
    	}

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 33
    Points : 16
    Points
    16
    Par défaut
    Bonsoir,
    je ne connais pas le contexte de ton programme mais au premier coup d'oeil, je vois quelques incohérences :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       int nt,t;
    //etc
      int main()
      {
      	char M[nt][t];
    //etc
      }
    Tu alloue un espace à ton tableau avec des variables non initialisées. Je ne connais pas précisément les conséquences mais dans tous les cas, rien de positif.

    Ensuite,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       do{
       	printf("donnez un entier\n");
       	scanf("%d",&nt);
       }while(nt<0 && nt>100 );
    est équivalent à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    printf("donnez un entier\n");
    scanf("%d",&nt);
    car (n<0 && n>100) ne sera jamais vrai.

    De plus, si cette boucle marchait, tu ne ferais jamais rien de la valeur de nt car elle changera avant d'être utilisée (je ne sais pas si je suis clair, mais en gros il faut que tu fasse ce que tu veux faire de cette valeur à l'interieur de la boucle sinon tu ne pourra travailler que sur la dernière valeur de celle ci).

    Je n'ai pas regardé la suite en détail, mais je pense que si tu règle ces premiers problèmes, tu y verra déjà plus clair.

    Cordialement,

    Adrien.

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 695
    Points : 30 993
    Points
    30 993
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ifdo7a Voir le message
    bonsoir , j'ai pas compris la faute ici , j'ai essayé pas mal de fois mais j'ai rien compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ...
       }while(nt<0 && nt>100 );
    Salut

    Formules mathématiques de De Morgan ???
    non (a et b) = non(a) ou non(b)
    Tu veux sortir de la boucle si (nt > 0 et nt < 100), donc tu restes dans la boucle si ...

    Citation Envoyé par adrienmgs Voir le message
    De plus, si cette boucle marchait, tu ne ferais jamais rien de la valeur de nt car elle changera avant d'être utilisée (je ne sais pas si je suis clair, mais en gros il faut que tu fasse ce que tu veux faire de cette valeur à l'interieur de la boucle sinon tu ne pourra travailler que sur la dernière valeur de celle ci).
    Salut

    Je pense qu'il a voulu faire une saisie contrôlée (ressaisir tant que nt incorrect). Donc en fait, seule la dernière valeur l'intéresse...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [ODBC] Probleme d'affichage de résultat
    Par JCMANSION dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 10/06/2011, 10h12
  2. Probleme d'affichage de résultat de calcul
    Par nancy maman dans le forum Général Python
    Réponses: 6
    Dernier message: 20/05/2011, 12h21
  3. [AJAX] Affichage de résultat sous Firefox
    Par boucamleg dans le forum AJAX
    Réponses: 4
    Dernier message: 10/04/2009, 17h25
  4. probleme d'affichage de résultat
    Par vitch8 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/02/2007, 16h29
  5. Probleme d'affichage du résultat de ma fonction php
    Par bouba83 dans le forum Langage
    Réponses: 12
    Dernier message: 28/11/2006, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo