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 :

problème avec un tableau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut problème avec un tableau
    Bonjour

    voila le problème :

    De façon à afficher la représentation correcte du nombre on va stocker les restes obtenus par les divisions entières dans les cases d'un tableau . On fera ensuite une boucle pour afficher le contenu du tableau

    Ecrire le programme correspondant
    entrer n,nombre à traduire
    entrer b,la base inférieure à 10
    faire les divisions successives en mettant les restes dans un tableau au fur et à mesure qu'ils apparaissent
    afficher le contenu du tableau
    voila mon programme (qui ne foctionne pas )

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[])
    {
      int n,b,reste,i;
      int Tab[100];
     
    printf("Introduire n :");
    scanf("%d",&n);
    printf("Introduire la base desiree <10 :");
    scanf("%d",&b);
     
    if(b<10)
    {
    do
    {
        reste=n%b;
        n=n/b;
     
     
    }
        while(n!=0);
    }
    else printf("Erreur veuillez reintroduire un nombre<10 pour la base :");
     
    /*Initialisation  du tableau*/
    for(i=0;i<reste;i++)
    {
        reste=Tab[i];
    }
     
    /*Affichage du tableau*/
    for(i=0;i<b;i++) printf("Tableau : %d\n",Tab[i]);
     
      system("PAUSE");
      return 0;
    }
    Merci d'avance de votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 143
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /*Initialisation  du tableau*/
    for(i=0;i<reste;i++)
    {
        reste=Tab[i];
    }
    J'aurais plutot dit qu'ici tu initialise "RESTE"...
    Revois tes L et R value.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    do
    {
        reste=n%b;
        n=n/b;
     
     
    }
    Ici tu ecrase le resultat de n%b à chaque tour... il serait bon de le garder en mémoire...

  3. #3
    Expert confirmé
    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
    Par défaut
    Pour compléter :
    Ici tu ecrase le resultat de n%b à chaque tour... il serait bon de le garder en mémoire...
    Et pour faire cela, une idée serait de les mettre dans le tableau !

  4. #4
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[])
    {
      int n,b,reste,resultat,i;
      int Tab[100];
     
    printf("Introduire n :");
    scanf("%d",&n);
    printf("Introduire la base desiree <10 :");
    scanf("%d",&b);
     
    if(b<10)
    {
    do
    {
        reste=n%b;
     
     
    /*Initialisation du tableau*/
     
    for(i=0;i<n;i++)
    {
     Tab[i]=reste;
    }
     
    /*Affichage du tableau*/
    for(i=0;i<n;i++)
    {
     printf("Tableau : %d\n",reste);
     n=n/b;
    }
     
     
    }
        while(n!=0);
    }
    else printf("Erreur veuillez reintroduire un nombre<10 pour la base :");
     
     
     
     
     
      system("PAUSE");
      return 0;
    }
    Là je progresse un petit peu mais ça ne me donne pas le bon résultat pour un exemple de 13 en base 2 . à la place d'avoir 1011 comme résultat il me donne 1111 ?

  5. #5
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    J'essaie de déplacer un peu partout ' n=n/b' mais ça ne me donne que des résultats erronés. Je ne trouve pas la solution ?

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Xai,
    Citation Envoyé par chicabonux Voir le message
    J'essaie de déplacer un peu partout ' n=n/b' mais ça ne me donne que des résultats erronés. Je ne trouve pas la solution ?
    Ce n'est pas la bonne méthode.

    Reprends à zéro, papier + crayon pour faire le calcul à la main, regarde de quoi tu as besoin...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/05/2006, 08h59
  2. Problème avec redimensionnement tableau
    Par PoZZyX dans le forum Réseau
    Réponses: 18
    Dernier message: 20/04/2006, 15h46
  3. Problème avec un tableau et saut de ligne
    Par ero-sennin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 08/03/2006, 18h48
  4. Problème avec un tableau de tableau
    Par SubZero2 dans le forum Langage
    Réponses: 4
    Dernier message: 07/12/2005, 15h25
  5. problème avec un tableau dans un insert ...
    Par vbcasimir dans le forum Langage
    Réponses: 3
    Dernier message: 02/11/2005, 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