Langage c

Bonjour,
je veus le programme de cette question: : Ecrire un programme qui demande à l'utilisateur de taper 5 entiers et qui affiche
le plus grand. Le programme ne devra utiliser que 2 variables.
aider moi svp
merci d'avance :)

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Généralement, on demande aux débutants de simplement analyser leur propre raisonnement, lorsque qu'il s'agit de problèmes simples comme celui-ci.

    Si on te donne 100 nombres (à l'oral), penses-tu que tu vas tous les retenir juste pour trouver le plus grand ?
    Analyse ta démarche, écris la sur un bout de papier en détaillant le plus possible et essaye de coder à partir de ça.

    edit : depuis le 4 mars ?! J'espère que l'OP a trouvé son bonheur...

    Cordialement,
    Idéophage
    1. Voici le code de ton exo (il faut deux variable et tableau c'est obligé) :

      #include <stdio.h>
      #include <stdlib.h>
      
      
      int main(void)
      {
          int entier[5] = {0};
          int i = 0, variableTemporaire = 0;
      
          for (i = 0; i < 5; i++)
          {
              printf("Entre le %de entier : ", i+1);
              scanf("%d", &entier[i]);
          }
      
          for(i = 0; i < 4; i++) // 4 pour nous mettre dans l'intervalle du tableau
          {
              if(entier[i] > entier[i+1])
              {
                  variableTemporaire = entier[i];
                  entier[i] = entier[i+1];
                  entier[i+1] = variableTemporaire;
              }
          }
      
          printf("\n\nVoici le plus grand entier des entiers que vous avez saisis : %d", entier[4]);
          return 0;
      }
      
      
      1. Contributeur
        Bonjour,

        @ arij : merci d'éviter de demander la résolution d'exercice. C'est contraire à la politique CCM.
        Dis-nous plutôt où tu bloques, ce que tu as commencé à faire etc.

        @Mido1798 : je compte 7 variables (1 pour i, 5 pour le tableau, et 1 pour la variable temporaire) ;-).

        Google is your friend
        1. Je sais je l'ai signalé au début c'est la seule solution :p
        2. Contributeur
          Et non, ce n'est pas la seule solution ;-).
          Tu peux très bien n'utiliser véritablement que deux variables !
        3. Tu penses aux pointeurs ?
        4. Contributeur
          Non non, pas de pointeurs.
          Je vois 2 variables minimum (et 1 de plus si on utilise 1 boucle).
        5. Donc :

          int *entier = NULL; 
          int nombreEntiers = 5; 
          int i = 0; 
          
          entier = malloc(sizeof(int) * nombreEntier); 
          if(entier == NULL) 
          { 
                   exit(0); 
          } 
          
          ..... 
          
          
          free(entiers) ;