Langage C

queenfina Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
malaik5 Messages postés 258 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je débute en programmation et j'ai quelques problemes pour traduire cet algo en C
voici l'algo :


Variables Nbr, i, PGN en Entier
Debut
Gd = 0
Pour i = 1 à 20
Ecrire "Entrez un nombre : "
Lire N
Si i = 1 ou Nbr > PGN Alors
PGN = Nbr
FinSi
i = i+1
Ecrire "Le nombre le plus grand était : ", Gd
Fin


voici mon code qui me renvoi toujours le dernier nombre comme plus grand meme si c'est faux !!!


#include <stdio.h>
#include <stdlib.h>

int main()
{
int nbre, i, PGN ;
PGN = 0 ;
i=1 ;

for (i=1; i<=20; i++ )
{
printf("Entrez le nombre %d:",i);
scanf("%d",&nbre);
}

if ( i=1 || nbre > PGN )
{
PGN = nbre ;
}

printf ("le nombre le plus grand etait :%d\n",PGN);

return 0;
}



merci de bien vouloir m'aider
A voir également:

2 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut
Il faut inclure ton "if" dans la boucle "for" sinon ça ne fonctionnera jamais.
Ensuite, la comparaison en C se fait avec le symbole "==" et non "=" qui est réservé à l'affectation.
Ensuite, ça devrais fonctionner.
0
malaik5 Messages postés 258 Date d'inscription   Statut Membre Dernière intervention   33
 
Bonjour,
J'ai plusieurs remarques concernant ton algo de départ déjà pas celui que t'as fait apres,

1- Le lire N sert à quoi puisque le tu ne l'utilise pas apres.
2- à la fin tu dis le plus grand nombre était Gd ..., hors que ce dernier était initialisé à 0 et jamais modifier dans l'algorithme apres, donc ta valeur restera à jamais 0.
3- PGN tu l'as sorti d'ou ??

.....

je sais c'est surement que t'as oublié de renommer tes variables dans la boucle mais c'est important commence pas corriger ça apres on verra la suite.
0