sa fais Longtemps que je bosse plus un truc que j'ai du faire en html, bref je commence a avoir du mal a réfléchir.
voici mon raisonnement est-il bon? (c'est pas du code hein juste le raisonnement)
x est un entier =0
n est un entier =10
Répeter :
/ { afficher x espaces puis n etoiles;
/
/
/ retour a la ligne
/ x=x+1
/ n=n-1 }
/
/
/ J'usque a n= 0 et x = 10
Petit conseil, moins vous utilisez de variable, plus c'est simple à gérer.
(x+n est constant, on peut dont remplacer ces 2 variables par une constante et une variable, la constante pouvant être une variable locale mais qui ne change pas de valeur de son initialisation à la fin du processus, par exemple.)
Autre conseil, si l'indentation dans le forum n'est pas un "accident" de copier-coller, pensez à bien indenter votre code, ça fait des miracles pour la compréhension du code.
Pourquoi les 2 "while" sont-ils imbriqué ?
Vous avez fait largement le plus dur, le raisonnement.
L'implémentation, c'est juste un peu de rigueur.
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
Alors j'ai pas tout compris, x+n sera toujours égal a 10 mais je vois pas a quoi sert la constante je peu peut être garder une variable qui vaut 10 et faire répéter {les instructions,variable--;} tant que la variable!=0. Sa répéterai les instructions 10 fois normalement.
La raison pour laquelle j'ai imbriqué les 2 boucles c'est que le résultat a l'écran me paraissait plus proche de la solution(oui c'est un peu con).
et sa a été une manière de régler des soucis pour mes exo précédents : le carré par exemple.
Je vois vraiment pas quoi changer pour que ça marche la ce qui es étrange c'est qu'il y a bien un espace et 9 etoiles mais il n'y a pas de retour a la ligne . sa m'affiche juste ça : **********
Vous ne devez pas faire une implémentation "au pif".
Votre raisonnement est correct, implémentez le, from scratch, sans copier-coller d'exemples précédent qui n'ont potentiellement rien à voir.
Vous utilisez des "while" et "do/while" alors que de simples boucles "for" seraient plus lisible :
int size=9;
for(int line = 0; line < size; line++)
{
for( int col = 0; col < size ; col++)
{
if(col<line)
{
std::cout<<" ";
}
else
{
std::cout<<"*";
}
}
std::cout<<std::endl;
}
C'est un peu différent de votre raisonnement. Avec le vôtre, vous devez avoir une boucle "for" qui contient 2 autres boucles "for", l'une à la suite de l'autre.
int size=9;
for(int line = 0; line < size; line++)
{
for( int col1 = 0; col1 < line ; col1++)
{
....
}
for( int col2 = line; col2 < size ; col2++)
{
....
}
std::cout<<std::endl;
}
- Edité par bacelar 31 octobre 2018 à 15:30:11
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
Merci beaucoup ! hmmm je vois l'implémentation est vraiment compliqué, en effet notre prof d'info nous conseille de faire plus de for mais j'ai du mal a suivre ce conseil psk je comprend moins le "concept" do/while c'est facile a comprendre ça veux dire "faire... tant que(condition)alors que le for me parait plus abstrait.
Bon, vous avez vu "cout" sans "std::", ça sent le prof. qui n'a pas ouvert un bouquin de C++ depuis 20 ans ça.
Il doit vous avoir collé un bon vieux "using namespace std" bien sale en haut de vos fichiers.
En fait "cout", "cin" etc..., n'existent pas, c'est "std::cout", "std::cin" etc... qui existent.
Demandez à votre prof. soit d'expliquer correctement l'usage (que je trouve complètement abusé) de "using namespace std" soit de se mettre un peu à jours et ne pas sortir du code qui n'est que potentiellement compatible qu'avec des compilateurs sortis avant la première normalisation du C++, en 1998.
"std", c'est l'espace de nom contenant l'ensemble des choses (fonctions, classes, objets, etc...) offertes par la librairie standard du C++.
Prenez l'habitude d'utiliser le nom "pleinement qualifier" (avec les espaces de noms avant) plutôt que d'abuser des "using namespace ma_mamie_en_sky".
Vous pouvez très bien remplacer chaque "for" par une boucle "while" dans les codes que j'ai fourni, faut juste faire attention aux conditions et à la gestion des variables de boucle.
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
gbl
Merci
gbl
gbl
gbl