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 d'un element d'un tableau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut Probleme d'affichage d'un element d'un tableau
    salut tout le monde, moi je suis nouvelle dans ce forum et j'aimerais bien retrouver des réponses a mon problemes,et merci d'avance.
    ok maintenant je vais poser mon probleme.
    J'ai écrit un programme en C et je le compile en dev c++ alors je voudrais afficher des tableaux qui sont nommés(l0,l1,l2) alors tout s'affiche bien sauf que le dernier(l2) m'affiche un manque qui veut dire qu'il m'affiche pas du tout l2[0] ;il m'ecrit l2[0]=
    et rien ne s'affiche alors que la suite s'affiche le plus normalement possible, alors pourquoi ? Et ben c'est ca la question et merci d'avance

  2. #2
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Hein !!!!
    Vous pouvez répéter la question s'il vous plait ???

  3. #3
    Membre expérimenté
    Avatar de mathk
    Inscrit en
    Décembre 2003
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 211
    Par défaut
    montr nout ton morceau de code parceque la c'est difficile de te suivre

  4. #4
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Est-ce que les tableaux ont été correctement initialisés?

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par seriousme
    Est-ce que les tableaux ont été correctement initialisés?
    D'après ce que j'ai compris du texte original, la vrai question est :

    "la chaine du vélo est-elle bien gonflée"

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut
    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 tp1(int ns)
    {
    int r,i,j,k,ns,x,nsuc,l1[100];
    char l0[100],l2[100],s,suc;
    k=0;
    x=0;
    printf("entrer le nbre de sommets:\n");
    scanf("%d",&ns);
    if(ns>100)
    printf("depassement de capacité\n");
    else
    {
    if(ns<=0)
    printf("erreur");
    else
    {
    for(i=0;i<ns;i++)
    {
    printf("entrer le sommet:\n");
    scanf("%s",&s);
    l0[i]=s;
    printf("entrer le nbre de successeur:\n");
    scanf("%d",&nsuc);
    if(nsuc>0)
    {
    x=k+nsuc-1;
    for(j=k;j<=x;j++)
    {
    printf("entrer le succeseur:\n");
    scanf("%s",&suc);
    l2[j]=suc;
    l1[i]=k;
    }
    k=l1[i]+nsuc;
    }
    else
    {
    l2[k]='*';
    l1[i]=k;
    k=k+1;
    }
    }
    }
    l1[ns]=nsuc+l1[ns-1]+1;
    for(i=0;i<ns;i++)
    printf(" l0[%d] = %c", i , l0[i]);
    printf("\n");
    system("PAUSE");
    for(j=0;j<=ns;j++)
    printf(" l1[%d] = %d", j , l1[j]);
    printf("\n");
    system("PAUSE");
    for(r=0;r<k;r++)
    printf(" l2[%d] = %c", r , l2[r]);
    printf("\n");
    system("PAUSE");
    }
    }
    C'est ca mon programme et je dois saisir des sommets dans l0
    et saisir les successeurs de chaque sommet dans l2
    et les adresses du premier successeur dans le tableau l1
    et puis afficher tout. Je veux préciser que mon programme marche tres bien sauf que l'affichage du tableau l2 ne se fait pas correctement alors ca veut dire que quand je compile et je donne a exemple
    tout va bien sauf que le tableau de l2 ne s'affiche pas correctement
    plus précisément il doit contenir des successeurs
    exemple c'a m'affiche
    l2[0]= l2[1]=c l2[3]=d
    au lieu de m'afficher ca
    l2[0]=a l2[1]=c l2[3]=d
    Il m'affiche toujour un vide a l2[0].

    Merci

  7. #7
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Montres-nous comment tu as défini tes tableaux ainsi que la manière dont tu les exploites.

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par l_seringa
    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
    #include<stdio.h>
    #include<stdlib.h> 
    int tp1(int ns)
    {
    int r,i,j,k,ns,x,nsuc,l1[100];
    char l0[100],l2[100],s,suc;
    k=0;
    x=0;
    printf("entrer le nbre de sommets:\n");
    scanf("%d",&ns);
    if(ns>100)
    printf("depassement de capacité\n");
    else
    {
    if(ns<=0)
    printf("erreur");
    else
    {
    for(i=0;i<ns;i++)
    {
    printf("entrer le sommet:\n");
    scanf("%s",&s);
    l0[i]=s;
    printf("entrer le nbre de successeur:\n");
    scanf("%d",&nsuc);
    if(nsuc>0)
    {
    x=k+nsuc-1;
    for(j=k;j<=x;j++)
    {
    printf("entrer le succeseur:\n");
    scanf("%s",&suc);
    <...>l
    Super l'indentation ! Tu me files des réglages, s'te plait, allez, soit sympa...


  9. #9
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Attention "ns" est redéclaré dans la fonction.

  10. #10
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Ca ne compile pas, tu n'as pas de main, bref, c la cata !
    Déjà, tu passes ns (un int) dans "tp1, et tu le redéclares après !
    Ca déjà, c'est à bannir !

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut
    Montres-nous comment tu as défini tes tableaux ainsi que la manière dont tu les exploites.
    je crois que mon code est bien definie car tout passe bien sauf a l'affichage de l2, c'est tout.

  12. #12
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Pour les "for" toujours mettre les accolades même si ce n'est pas toujours nécessaire.

  13. #13
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Je reviens, je vais prendre de l'aspirine....

  14. #14
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Allé, je vais etre sympa. Je vais refaire l'indentation....
    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
    61
    62
    63
    #include<stdio.h>
    #include<stdlib.h>
     
    int tp1(int ns)
    {
       int r,i,j,k,ns,x,nsuc,l1[100];
       char l0[100],l2[100],s,suc;
       k=0;
       x=0;
     
       printf("entrer le nbre de sommets:\n");
       scanf("%d",&ns);
     
       if(ns>100)
       	printf("depassement de capacité\n");
       else
       {
       	if(ns<=0)
       		printf("erreur");
       	else
       	{
       		for(i=0;i<ns;i++)
       		{
       			printf("entrer le sommet:\n");
       			scanf("%s",&s);
       			l0[i]=s;
       			printf("entrer le nbre de successeur:\n");
       			scanf("%d",&nsuc);
       			if(nsuc>0)
       			{
       				x=k+nsuc-1;
       				for(j=k;j<=x;j++)
       				{
       					printf("entrer le succeseur:\n");
       					scanf("%s",&suc);
       					l2[j]=suc;
       					l1[i]=k;
       				}
       				k=l1[i]+nsuc;
       			}
       			else
       			{
       				l2[k]='*';
       				l1[i]=k;
       				k=k+1;
       			}
       		}
       	}
       	l1[ns]=nsuc+l1[ns-1]+1;
       	for(i=0;i<ns;i++)
       		printf(" l0[%d] = %c", i , l0[i]);
       	printf("\n");
       	system("PAUSE");
       	for(j=0;j<=ns;j++)
       		printf(" l1[%d] = %d", j , l1[j]);
       	printf("\n");
       	system("PAUSE");
       	for(r=0;r<k;r++)
       		printf(" l2[%d] = %c", r , l2[r]);
       	printf("\n");
       	system("PAUSE");
       }
    }

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut
    desole c'est seulement une erreur de copier/coller alors voila le bon code

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    #include<stdio.h>
    #include<stdlib.h> 
     
    main()
    {
       int r,i,j,k,ns,x,nsuc,l1[100];
       char l0[100],l2[100],s,suc;
     
       k=0;
       x=0;
       printf("entrer le nbre de sommets:\n");
       scanf("%d",&ns);
       if(ns>100)
          printf("depassement de capacité\n");
       else
       {
          if(ns<=0)
             printf("erreur");
          else
          {
             for(i=0;i<ns;i++)
             {
                printf("entrer le sommet:\n");
                scanf("%s",&s);
                l0[i]=s;
                printf("entrer le nbre de successeur:\n");
                scanf("%d",&nsuc);
                if(nsuc>0)
                {
                   x=k+nsuc-1;
                   for(j=k;j<=x;j++)
                   {
                      printf("entrer le succeseur:\n");
                      scanf("%s",&suc);
                      l2[j]=suc;
                      l1[i]=k;
                   }
                   k=l1[i]+nsuc;
                }
                else
                {
                   l2[k]='*';
                   l1[i]=k;
                   k=k+1;
                }
             }
          }
     
          if(nsuc!=0)
             l1[ns]=nsuc+l1[ns-1];
          else
             l1[ns]=l1[ns-1]+1;
     
          printf("**************************affichage des listes******************************\n");
          printf("\n");
          printf("**************************affichage des sommets******************************\n");
          printf("\n");
          for(i=0;i<ns;i++)
             printf(" l0[%d] = %c", i , l0[i]);
          printf("\n");
          system("PAUSE");
     
          printf("**************************affichage des adresse de successeurs******************************\n");
          printf("\n");
          for(j=0;j<=ns;j++)
             printf(" l1[%d] = %d", j , l1[j]);
          printf("\n");
          system("PAUSE");
     
          printf("**************************affichage des successeurs******************************\n");
          printf("\n");
          for(r=0;r<k;r++)
             printf(" l2[%d] = %c", r , l2[r]);
          printf("\n");
          system("PAUSE");
       }
    }

  16. #16
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    main() doit toujours retourner quelque chose, on met en général int.
    Peux-tu donner un exemple type d'éxécution ?
    Au début, nombre de sommets, etc ?

    Edit:
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    #include<stdio.h>
    #include<stdlib.h>
    int main(void)
    {
        int r,i,j,k,ns,x,nsuc,l1[100];
        char l0[100],l2[100],s,suc;
        k=0;
        x=0;
        printf("entrer le nbre de sommets:\n");
        scanf("%d",&ns);
        if(ns>100)
            printf("depassement de capacité\n");
        else
        {
            if(ns<=0)
                printf("erreur");
            else
            {
                for(i=0;i<ns;i++)
                {
                    printf("entrer le sommet:\n");
                    scanf("%s",&s);
                    l0[i]=s;
                    printf("entrer le nbre de successeur:\n");
                    scanf("%d",&nsuc);
                    if(nsuc>0)
                    {
                        x=k+nsuc-1;
                        for(j=k;j<=x;j++)
                        {
                            printf("entrer le succeseur:\n");
                            scanf("%s",&suc);
                            l2[j]=suc;
                            l1[i]=k;
                        }
                        k=l1[i]+nsuc;
                    }
                    else
                    {
                        l2[k]='*';
                        l1[i]=k;
                        k=k+1;
                    }
                }
            }
            if(nsuc!=0)
                l1[ns]=nsuc+l1[ns-1];
            else
                l1[ns]=l1[ns-1]+1;
            printf("**************************affichage des listes******************************\n");
            printf("\n");
            printf("**************************affichage des sommets******************************\n");
            printf("\n");
            for(i=0;i<ns;i++)
                printf(" l0[%d] = %c", i , l0[i]);
            printf("\n");
            system("PAUSE");
            printf("**************************affichage des adresse de successeurs******************************\n");
            printf("\n");
            for(j=0;j<=ns;j++)
                printf(" l1[%d] = %d", j , l1[j]);
            printf("\n");
            system("PAUSE");
            printf("**************************affichage des successeurs******************************\n");
            printf("\n");
            for(r=0;r<k;r++)
                printf(" l2[%d] = %c", r , l2[r]);
            printf("\n");
            system("PAUSE");
        }
        return 0;
    }

  17. #17
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut
    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
     
    entrer le nbre de sommets:
    3
    entrer le sommet:
    a
    entrer le nombre de successeur:
    1
    entrer le successeur:
    b
    entrer le sommet:
    b
    entrer le nombre de successeur:
    2
    entrer le successeur:
    a
    entrer le successeur:
    c
    entrer le sommet:
    c
    entrer le nombre de successeur:
    0
     
    *************************affichage des listes******************************
    **************************affichage des listes******************************
    l0[0]=a  l0[1]=b l0[2]=c
    **************************affichage des adresse de successeurs******************************
    l1[0]=0     l1[1]=1  l1[2]=3 l1[3]=4
    **************************affichage des successeurs******************************
    l2[0]=         l2[1]=a     l2[2]=c         l2[3]=*

  18. #18
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut
    alors vou remarqué que ca m'affiche pas le successeur du premier sommet.et c pour n'iporte kel exemple c ca
    l2[0]=
    au lieu de me donner le soccesseur ca m'affiche rien

Discussions similaires

  1. probleme d'affichage d'un element d'un Bean
    Par machipot dans le forum NetBeans
    Réponses: 5
    Dernier message: 13/05/2013, 15h22
  2. [XSLT 1.0] Probleme d'affichage des elements d'un tableau
    Par alexa87 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 08/11/2011, 12h05
  3. probleme d'affichage des elements d'une table
    Par lightzeus dans le forum SQL
    Réponses: 5
    Dernier message: 14/08/2007, 17h07
  4. [langage] Problème d'affichage
    Par marcoss dans le forum Langage
    Réponses: 3
    Dernier message: 29/08/2003, 13h05
  5. IE [Applet] Plug-in problème d'affichage
    Par Tonton Luc dans le forum JBuilder
    Réponses: 4
    Dernier message: 19/06/2003, 08h28

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