Urgent : passer de for a while ?

dr hisoka Messages postés 83 Statut Membre -  
dr hisoka Messages postés 83 Statut Membre -
salut tous le monde
je vx savoir comment passer de for a while
par exemple

ce programme qui affiche la fleche derigé en haut
si en tape 3
ça donne
..*
.**
***
..*
..*
..*
voici le code source
#include <stdlib.h>
#include <stdio.h>

int main (void)
{
int i;
int j;
int n=-1;
int nbCaractereMaxLigne;

do
{
printf("Entrez le nombre n : ");
fflush(stdin);
scanf("%d",&n);
}while(n<0 && n>40); //plus de 80 caractere = bug affichage

nbCaractereMaxLigne=n+(n-1);
//Partie triangulaire
for(i=0;i<n;i++)
{
//nombre d'espaces
for(j=nbCaractereMaxLigne-(i+n);j>0;j--)
{
printf(" ");
}
//moitié gauche du triangle
for(j=0;j<=i;j++)
{
printf("*");
}
//partie droite du triangle
for(j=i;j>0;j--)
{
printf("*");
}
printf("\n");
}
//Partie queue de fleche
for(i=0;i<n;i++)
{
for(j=0;j<n-1;j++)
{
printf(" ");
}
printf("*\n");
}

system("pause");
return 0;
}

cmm le faire avec while ???

3 réponses

dr hisoka Messages postés 83 Statut Membre 3
 
???
0
Le concombre satellisé
 
Salut

je toujours aussi mauvais en C, mais là je vais pouvoir t'aider.

Le for en C s'écrit souvent for(<initialisation> ; <test-arret> ; <incrément> ) { instruction(s); }

sa transposition en while est <initialisation> ; while( !<test-arret>) { instruction(s); <incrément> ; }

Attention toutefois pour les for complexes avec plusieurs affectations, tests multiples et expressions complexes et autres joyeusetés.

donc ok pour traduire un for( i=0 ; i<=10; i++) mais étudie bien les autres cas que tu voudrais transposer
0
dr hisoka Messages postés 83 Statut Membre 3
 
merci ^^
0