La syntaxe de "i suivant" et de "Si T(i) <> T(i – 1) +1&qu

Fermé
i.firmin Messages postés 9 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 18 mai 2016 - 18 mai 2016 à 13:30
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 18 mai 2016 à 18:10
Bonjour! Novice en programmation, je ne vois pas trop quel peut être la syntaxe de "i suivant" dans mon exercice ainsi que Si "T(i) <> T(i – 1) + 1". Merci de me venir en aide .

Énoncé:


L’objectif de ce programme est de remplir un tableau avec des valeurs aléatoires et ensuite de déterminer si les
valeurs contenues dans le tableau sont consécutives ou non.
Variables Nb, i en entier
Variable Flag en booléen
Tableau T() en entier
Début
Écrire « Entrez le nombre de valeurs : »
Lire Nb
Redim T(Nb – 1)
Pour i ← 0 à Nb – 1
Écrire « Entrez le nombre no », i + 1
Lire T(i)
i Suivant
Flag ← Vrai
Pour i ← 1 à Nb – 1
Si T(i) <> T(i – 1) + 1 alors
Flag ← Faux
FinSi
i Suivant
Si Flag alors
Écrire « Les nombres sont consécutifs »
Sinon
Écrire « Les nombres ne sont pas consécutifs »
FinSi
Fin
A voir également:

2 réponses

Utilisateur anonyme
18 mai 2016 à 13:35
"i suivant"

Si le pas n'est pas explicitement indiqué, ça veut dire i = i+1 ( ou ++i ou i++ ou i+=1 )


"T(i) <> T(i – 1) + 1"

"Différent de" est représenté par "!="
0
i.firmin Messages postés 9 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 18 mai 2016
18 mai 2016 à 13:47
Ok! Rocailleux. Merci Bcp pour ta reponse.
0
i.firmin Messages postés 9 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 18 mai 2016
18 mai 2016 à 14:13
Voici le code final ,mais j'arrive pas á le compiler. Auras tu l’amabilité de me corriger ? Merci

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Nb,i;
int Flag;
int T[];
int main()
{

printf("Entrez le nombre de valeurs");
scanf("%i",&Nb);
T[Nb-1];
for (i = 0 ; Nb-1 ; i++)
{
printf("Entrez le nombre no\n",i+1);}
scanf("%",&T[i]);
i=i+1;
Flag= 'true';
for(i = 1 ; Nb-1 ; i++)
{
if(T[i] !=(i – 1) + 1) {Flag= 'false'}

};
i=i+1; if (Flag) {printf("Les nombres sont consécutifs");}
else () printf("Les nombres ne sont pas consécutifs")};

return 0;
}
0
Utilisateur anonyme
18 mai 2016 à 15:09
Déja tu peux mettre en forme ton code proprement, ça mettre en évidence les erreurs bêtes ( oublis de parenthèses, acolades, etc..)

if( condition) {
effet ... ;
}
else {
truc ;

}

En vrac et de façon non exhaustive :

int T[]; -> tu dois donner une taille à ton tableau

printf("Entrez le nombre no\n",i+1);} -> l'accolade en fin fait moche

Flag= 'true'; -> flag est un entier, tu ne peux pas stocker une chaine de caractère dedans, met 1 ou 0


else () -> les parenthèses ne servent à rien
0
i.firmin Messages postés 9 Date d'inscription mardi 17 mai 2016 Statut Membre Dernière intervention 18 mai 2016
18 mai 2016 à 16:04
J'ai fait les modifications nécessaires mais au niveau de cette partie ce message apparaît : error : stray'\226' in program.

Que peut bien être l'erreur ?

Voici le code de la ligne 21 : for(i = 1 ; Nb -1 ; i++)
{
if( T[i]!= T[i – 1] + 1) {
Flag= '0';}
0
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
Modifié par Dalfab le 18/05/2016 à 18:12
Bonjour,

stray '\226' indique caractère invalide (surement un caractère invisible), réécrit la ligne.
et la boucle for s'écrit plutôt for( i = 0 ; i <= Nb -1 ; i++)
0