Transformation tant que en do while

Résolu/Fermé
VazyoO_ Messages postés 19 Date d'inscription dimanche 27 octobre 2019 Statut Membre Dernière intervention 2 décembre 2020 - Modifié le 27 nov. 2020 à 15:06
 Utilisateur anonyme - 28 nov. 2020 à 14:15
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

Utilisateur anonyme
28 nov. 2020 à 14:15
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

1
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 Ambassadeur 1 557
27 nov. 2020 à 17:39
bonjour,
as-tu consulté la documentation de
while
?
0
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
28 nov. 2020 à 12:03
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()
.
0