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 :

saisir une série


Sujet :

C

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut saisir une série
    slt je suis bloquée et je n'ai pas compri meme l'enoncé pour savoir quel outil dois je utiliser SVP pouvez vous juste me donner une idée pour que je puisse etre dans le bon chemin voila l'énoncé réel :
    1)saisir une emsemble d'identifiants dont la valeur maximale est égale à 31 et de générer la representation en tableau de bits de cet ensemble dans une variable de taille 4 octets en mémoire appelée Itemset (à developper en language C)
    2) saisir une série de 100 ensembles d'identifiants au plus,respectant la contrainte mentionnée dans (1).Cette série sera nommée par la suit "Base".Cette fonction doit etre developée en language C
    bon pour la 1ere question c'est deja fait mais pour la 2eme je n'arrive meme pas a la commencer ou de savoir quel outil doit je l'utiliser pour la résoudre j'ai charché sur le net et je n'ai rien trouvé pouvez vous me mettre dans le bon chemin SVP

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Le même exercice a été déjà été posté ici
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut
    merci diogene
    je veux que l'ensemble soit des chaines de caracteres mais j'ai un probleme lorsque j'affiche B[l] voici mon code si tu peux m'aider stp

    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
    #include<stdio.h>
    #include<stdlib.h>
    char*gets(char*s)
    {
      int i;
      for(i=0;(*(s+i)=getchar())!='\n';i++)
      ;
      *(s+i)='\0';
      return(s);
    } 
     
     main()
    {   char s;
        long p=1;
        int i=0;
        int k=0;
        char t[32]={0};
        int l,n;
        char B[100]; 
        int m;
        do
        {
            printf("donner la longueur de la base\n\n ");
            scanf("%d",&m);
        }
        while (m>100);
     
     
            for(l=0,B[l]=1;l<m; l++,B[l]++)
     {       
           printf("l'ensemble numero : %d\n",l);
           for(k=1;k<32;t[k]=0,k++);
                  do
                   {
                    printf("donnez le nombre d'identifiant\n\n ");
                    scanf("%d",&n);
                   }
                   while(n>33);
           printf("veuillez entrer l'ensemble d'identifiants\n\n ");
                 for(i=0;i<=n;i++)
                 gets(&s); 
     
     
     
     
    printf("l'element de la base est  %d\n",B[l]);
    }
    system("pause");
    return(0);
    }

  4. #4
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Ou est-ce que tu es censé remplir B?
    Je pense qu'au lieu de:
    gets(&s);
    (que tu n'as d'ailleurs pas le droit de faire car tu veux stocker à priori plus d'un élément alors que s est un caractere)
    Tu voulais faire:
    D'ailleurs je ne comprends pas tes B[l]=0 et B[l]++ dans ton for

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut
    Mon but est de saisir d'abord au plus 100 ensembles de chaines de caracteres . chaque ensemble doit avoir une taille maximale égale à 32
    le 100 ensembles forment une série nommeé la base B et chaque ensemble on va le considerer comme etant un element de la base tous vont etre stocker dans un tableau

  6. #6
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Donc B doit être un tableau de chaînes de caractères non?
    Et tu ne peux utiliser ta fonction gets comme ça, car la tu essaye de stocker une chaîne de caractères dans un caractère

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut
    alors comment je peux la corriger stp?

  8. #8
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Eh bien tu crée un tableau de n+2 cases, n étant le nombre caractères voulu(+1 pour le '\n' +1 pour le '\0'), puis tu utilise la fonction fgets(tab,n+2,stdin)
    Et donc pour stocker ses saisies tu déclare un tableau à 2 dimensions qui convient.

  9. #9
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut
    je ne comprends pas pourquoi il faut utiliser la fonction fgets au lieu de gets
    voila le nouveau code j'ai essayé de le corriger mais j'ai encore un probeme lorsque j'affiche base[i][j](les valeurs données par le programme sont fausses)
    svp pouvez vous m'aider?
    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
    #include<stdio.h>
    #include<stdlib.h>
     
    main()
    {
    char base[100][32];
    int m,i,j,n;
     
     
     
        do
        {
            printf("donner la longueur de la base\n\n ");
            scanf("%d",&m);
        }
        while (m>100);
     
        for(i=0;i<m;i++)
        {
             printf("l'ensemble numero : %d\n",i);
              do
                   {
                    printf("donnez le nombre d'identifiant\n\n ");
                    scanf("%d",&n);
                   }
              while(n>33);
              printf("veuillez entrer l'ensemble d'identifiants\n\n ");
                 for(j=0;j<=n;j++)
                 gets(&base[i][j]);
                 printf("l'element de la base est  %d\n",base[i][j]);
        }
    system("pause");
    return(0);
    }

  10. #10
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    C'est bien normal c'est à cause de:
    for(j=0;j<=n;j++)
    gets(&base[i][j]);
    Tu fais gets qui saisit une chaine de caractere donc tu ne dois pas faire de boucle mais tu dois plutôt faire cela:

  11. #11
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut
    j'ai rectifié le programme mais ça ne marche pas encore lors de l'affichage des valeurs de base[i][j],ils sont encore erroneés

  12. #12
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Tui as bien remplacé:
    printf("l'element de la base est %d\n",base[i][j]);
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("l'element de la base est  %s\n",base[i][0]);
    au moins?

  13. #13
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut
    oui mais j'ai encore un probleme

  14. #14
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Euh je rectifie mon poste complètement faux!
    Je voulais dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("l'element de la base est  %s\n",base[i]);

  15. #15
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut
    le probleme existe toujours !!!

  16. #16
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 2
    Points
    2
    Par défaut probleme en C
    salut je suis bloquée pouvez vous m'aider ?
    1)saisir un ensemble d'identifiants par exemple{voiture,maison,lait},on le transforme en un ensemble d'identifiants{1,3,5} dont la valeur maximale est égale à 31 et generer la representation en tableau de bits de cet ensemble dans une variable de taille 4 octets en mémoire appelée Itemset(à developper en langage c)
    2)saisir une série de 100 ensembles d'identifiants au plus,respectant la contrainte mentionnée dans (1).cette série sera nommeé par la suite "Base".cette fonction doit etre developpeé en C
    3)afficher les indices et le nombre d'ensembles de base contenant Itemset.cette fonction doit etre developpée en C et en assembleur
    j'ai fait la 1ere question et elle s'exécute sans probleme
    pour la 2eme j'ai utilisé une matrice la fonction s'exécute mais j'ai du doute
    voila le code pour2)


    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
    #include<stdio.h>
    #include<stdlib.h>
    int main(void)
    {
    char base[32][100];
    int m,i,j,n;
    do
    {
    printf("donner la longueur de la base\n\n " );
    scanf("%d",&m);
    }
    while (m>=100);
    for(i=0;i<m;i++)
    {
    printf("l'ensemble numero : %d\n",i);
    do
    {
    printf("donnez le nombre d'identifiant\n\n " );
    scanf("%d",&n);
    }
    while(n>33);
    printf("veuillez entrer l'ensemble d'identifiants\n\n " );
    for(j=0;j<=n;j++)
    fgets(base[j],sizeof*base,stdin);
    printf("l'element de la base est %d\n",i+1);
    }
    system("pause" );
    return 0;
    }
    cette méthode est fausse ou nn car lorsque je commence la 3eme je ne trouve pa comment je peux comparer l'itemset avec les tableaux de bases? .
    pour la 3eme question je n'ai pas trouvé comment comparer les tableaux de la base avec l'itemset est ce que je dois changer la méthode de la matrice ou comment?

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/08/2005, 14h40
  2. Réponses: 15
    Dernier message: 26/06/2005, 15h53
  3. Réponses: 7
    Dernier message: 03/12/2004, 10h15
  4. Compression d'une série d'images jpeg
    Par Tchello dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2003, 19h59
  5. Créer une série dans un chart
    Par cyrose dans le forum C++Builder
    Réponses: 5
    Dernier message: 28/11/2002, 11h37

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