Langage C

Fermé
noussa309 Messages postés 7 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 28 octobre 2011 - 3 juil. 2011 à 19:13
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 4 juil. 2011 à 09:49
Bonjour, je ne sais pas comment corriger ce code svp j'ai besoin de l'aide

#include <stdio.h>

int main (void)
{
typedef struct Tbin
{
int x;
}tbin;

int i,n;

do
{printf("donner n");
scanf("%d",&n);
}while(n<100);
for(i=0; i < n; i++)
{scanf("%d",&Tbin[i].x);
}
}


3 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
4 juil. 2011 à 09:49
typedef struct Tbin
{
   int x;
}Tbin;
int main()
{
   Tbin *b;
   int i,n;
   do
   {
        printf("donnez n");
        scanf("%d",&n);
   }while(n<100);
   b=malloc(n*sizeof(Tbin));
   for(i=0; i < n; i++)
      scanf("%d",&(b[i].x));
   return 0;
} 
ça devrait fonctionner.
1
noussa309 Messages postés 7 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 28 octobre 2011
3 juil. 2011 à 19:42
#include <stdio.h>
#include<conio.h>

typedef struct Tbin
{
int x;
}Tbin;
int main()
{
Tbin b;
int i,n;
do
{printf("donner n");
scanf("%d",&n);
}while(n<100);
for(i=0; i < n; i++)
scanf("%d",&b[i].x);
}

je ne sais pas ou 'erreur exactement
0
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
Modifié par Hxyp le 4/07/2011 à 19:00
Bonjour,
b n'étant pas un tableau ça ne marchera pas, il faudrait faire par exemple comme ceci:
tbin b[100]; /* un tableau */  
int i=0; /* s'assurer que i est à zéro avant de l'utiliser */  

while(i<100){  
    printf("n = ");  
    scanf("%d",&b[i].x);  
    i++; /* incrémente i */  
}


Edit : hm oui mon code n'est pas terrible j'ai oublié la fonction de "n" excusez moi le manque de tableau et la boucle avaient perturbés mon attention ahaha
0