Transformation tant que en do while [Résolu]

Signaler
Messages postés
20
Date d'inscription
dimanche 27 octobre 2019
Statut
Membre
Dernière intervention
2 décembre 2020
-
Messages postés
15391
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 janvier 2021
-
Bonjour je dois transformer un algorithme avec une boucle tant que avec une autre boucle do while voila mon code avec TQ :
int main()
{ int N,S, I, nombre;
      S=0;
      printf (" Quel est le nombre de nombres entiers à saisir ? :");
      
      scanf("%d",&N);
      for (I=1;I<=N;I++){ printf( "Entrer un nombre entier :");

          scanf("%d",&nombre);

               (S=S+nombre);


              }

   printf(" La somme des %d des nombres saisies = %d",N,S);
    
    
    }


et voila mon essaie avec do while mais ça ne fonctionne pas il me marque ligne 16 "error: expected ')' before ';' token
voici le code :
#include<stdio.h>

int main()
{ int N,S, I, nombre;
      S=0;
      printf (" Quel est le nombre de nombres entiers à saisir ? :");

      scanf("%d",&N);
      if (I=1);do{ printf( "Entrer un nombre entier :");

          scanf("%d",&nombre);

               (S=S+nombre);


              }while(I<=N;I++);

   printf(" La somme des %d des nombres saisies = %d",N,S);


    }

3 réponses

Messages postés
15391
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 janvier 2021
642
Bonjour

Tu as aussi un problème d'interprétation ou de vocabulaire, quand tu dis
un algorithme avec une boucle tant que avec une autre boucle do while

Et que tu ajoutes que ton algorithme "tant que" est constitué d'une boucle for.

while
, avant d'être un opérateur, est un mot anglais qui signifie "tant que".
Donc une boucle while est une boucle tant que.

Avoir un algorithme en pseudo code du genre
tant que ma condition est vrai
    faire une action / un calcul
fin tant que

Et traduire cet algorithme dans un langage veut dire écrire une boucle while, pas une boucle for.


for
est aussi un mot anglais, qui signifie "pour".
Une boucle for dispose de plus de paramètres qu'une boucle while, Dalfab te les as décrit.
En pseudo code, cela revendrait à
pour chaque valeur allant de début à fin que je vais mettre dans une variable
    faire une action / un calcul à partir de la variable, ou pas
fin pour

Messages postés
13891
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 janvier 2021
782
bonjour,
as-tu consulté la documentation de
while
?
Messages postés
520
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
11 janvier 2021
68
Et regarde aussi la documentation de
for
.

Dans le
for(a;b;c){d}
, il y a 4 choses :
a) une initialisation, donc ce qu'il faut faire avant même de commencer.
b) un test, qui dit s'il faut commencer et aussi s'il faut recommencer.
c) une expression à faire juste avant de tester s'il faut recommencer.
d) ce qu'il faut faire dans la boucle

Dans le
do{e}while(f);
, il y a 2 choses :
e) ce qu'il faut faire dans la boucle
f) un test, qui dit s'il faut recommencer.

Il faut trouver comment replacer les a, b, c, d en utilisant le
do while()
, et tu l'as pressenti, tu auras aussi besoin d'ajouter un
if()
.