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 de numerotation et indice en C


Sujet :

C

  1. #1
    Débutant
    Inscrit en
    Mai 2013
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 83
    Points : 0
    Points
    0
    Par défaut probleme de numerotation et indice en C
    Bonjour,

    j'ai crée ce programme ou je voudrais demander le nombre de machine disponible et le nombre de taches qui seront exécutés sur chaque machine.

    alors j'ai écris le programme suivant:

    le problème c'est que je sais pas comment j'aurais machine 1,machine2,...

    comment le faire dans le langage C?

    j'ai pas voulu passer par les tableaux ,car je vais les utiliser pour rassembler tous les taches exécutées sur chaque machine
    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
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    int i,n,m;
     
    int main()
    {
     
     
          printf("donner le nombre m de machines disponibles:"); 
          scanf("%d",&m);
          for (i=0;i<m;i++) 
          {
          printf("donner le nombre n de taches à exécuter sur la machine%d  :",n);
          scanf("%d",&n);
          }
          getch();
     
          return 0;
          }

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 438
    Points
    2 438
    Par défaut
    Bonjour.

    Les indices en C vont de 0 à N-1, et toi tu veux afficher de 1 à N.

    Il suffit donc d'ajouter un +1 quelque part, le plus simple étant dans le printf().
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  3. #3
    Débutant
    Inscrit en
    Mai 2013
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 83
    Points : 0
    Points
    0
    Par défaut
    rebonjour,le problème c'est que j'arrive pas à afficher le message pour machine1
    machine 2... quand je donne le nombre de machine au début!
    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
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    int i,n,m;
     
    int main()
    {
     
     
          printf("donner le nombre m de machines disponibles:"); 
          scanf("%d",&m);
          for (i=0;i<m;i++) 
          {
          printf("donner le nombre n de taches à exécuter sur la machine%d  :",n);
          scanf("%d",&n);
          }
          getch();
     
          return 0;
          }
    voila ce que je veut en sortie comme exécution:
    par exemple:


    donner le nombre m de machines disponibles: 3
    donner le nombre n de taches à exécuter sur la machine1 :7
    donner le nombre n de taches à exécuter sur la machine2 :5
    donner le nombre n de taches à exécuter sur la machine3 :4

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Une étourderie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("donner le nombre n de taches à exécuter sur la machine%d  :",i+1);

  5. #5
    Débutant
    Inscrit en
    Mai 2013
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 83
    Points : 0
    Points
    0
    Par défaut
    re
    l'indice de la machine dans le message d'exécution ne change pas!
    je voudrais avoir machine 1,machine2...

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    ...Pourquoi ces variables sont-elles globales?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 438
    Points
    2 438
    Par défaut
    Citation Envoyé par etoilenord Voir le message
    re
    l'indice de la machine dans le message d'exécution ne change pas!
    je voudrais avoir machine 1,machine2...
    Ce qu'on te propose ce n'est pas de modifier l'indice en lui même, mais la façon de l'afficher en lui ajoutant 1 à ce moment là.

    As-tu effectué les modifications que t'a montré Winjerome?
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  8. #8
    Débutant
    Inscrit en
    Mai 2013
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 83
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    Bonjour,

    Une étourderie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("donner le nombre n de taches à exécuter sur la machine%d  :",i+1);
    re
    j'ai remplacé le i par i+1 dans le scanf plutot que dans le printf!
    dans le printf ça n'a pas marché!
    mais j'ai pas compris pourquoi ce i+1??

    et enfin ça a marché
    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
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    int i,n,m;
     
    int main()
    {
     
     
          printf("donner le nombre m de machines disponibles:"); 
          scanf("%d",&m);
          for (i=0;i<m;i++) 
          {
          printf("donner le nombre n de taches à exécuter sur la machine%d  :",i);
          scanf("%d",&i+1);
          }
          getch();
     
          return 0;
          }
    merci

  9. #9
    Invité
    Invité(e)
    Par défaut
    Il faudrait commencer à réfléchir un peu à ce que tu fais.
    Ta boucle for for (i=0;i<m;i++) parcours les valeurs 0, 1, 2, jusqu'à m.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("donner le nombre n de taches à exécuter sur la machine%d  :",i+1);
    va par conséquent afficher les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    donner le nombre n de taches à exécuter sur la machine1
    donner le nombre n de taches à exécuter sur la machine2
    ...
    donner le nombre n de taches à exécuter sur la machinem
    Mais c'est sans compter cette ligne horrible avec scanf que tu as modifiée (alors qu'elle était tout à fait juste dès le début)
    là, tu essaies rentrer la valeur tapée dans l'adresse qui suit celle de i, or tu n'as aucune garantie à priori que cette adresse soit libre en écriture... sans parler de l'intérêt à faire cela.
    Garde donc n pour cela.

    À l'avenir contente-toi de modifier ce que l'on te souligne et non pas le reste.

  10. #10
    Débutant
    Inscrit en
    Mai 2013
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 83
    Points : 0
    Points
    0
    Par défaut
    parfait
    ça marche maintenant, merci

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

Discussions similaires

  1. [WD-2003] [Numerotation] Probleme de numerotation discontinue
    Par Droopyougo dans le forum Word
    Réponses: 8
    Dernier message: 27/05/2009, 08h32
  2. [BEAMER] probleme de numerotation des figures
    Par clement.rey dans le forum Beamer
    Réponses: 2
    Dernier message: 25/08/2008, 11h56
  3. probleme de numerotation automatique
    Par bassam0205 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/11/2007, 10h35
  4. probleme de numerotation des données dans une table
    Par tchimou dans le forum Bases de données
    Réponses: 8
    Dernier message: 17/04/2007, 14h26
  5. Problème de numérotation de pages dans la TDM
    Par cmaurice dans le forum Mise en forme
    Réponses: 4
    Dernier message: 06/12/2006, 10h46

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