Le code C++ pour le triangle rectangle à l'aide de la boucle WHILE
J'ai besoin d'imprimer ce triangle:
*
**
***
****
*****
******
*******
********
à l'aide DE for et WHILE. J'ai besoin d'aide, j'ai déjà compris la boucle de version, j'ai juste à le convertir à la boucle while, mais tout ce que j'ai essayer ne me donne pas la bonne sortie! Toute aide est appréciée!
Mon code pour l'instant:
#include <iostream>
using namespace std;
int main(int argc, char**argv) {
int i = 1;
int j = 1;
int N = 8;
while (i <= N)
{
i = i++;
while(j <= i)
{
cout<<"*";
j = j++;
}
cout<<endl;
}
}
- c'est le triangle, je ne sais pas si il a montré jusqu' (triangle) * ** ***
- Est-ce devoirs? Si elle l'est, ajouter les devoirs de la balise.
- vous n'avez pas besoin
i = i++
etj = j++
. justei++
etj++
fera l'affaire. j = j++
dit "incrémenterj
, puis d'attribuerj
la valeur qu'il avait avant l'incrémentation." Probablement pas ce que vous voulez.
Vous devez vous connecter pour publier un commentaire.
Quelles sont les règles?
Je vais vous donner un indice (dans l'intérêt de vous faire faire quelques déterminer vous-même): Vous êtes à oublier pour définir
j
retour à1
après la boucle interne.Comme il est maintenant, quand
j
arrive à être<= i
une fois, il reste de cette façon et l'intérieur de la boucle n'est jamais entré de nouveau.Aussi, alors il n'est pas directement liée à votre question, assurez-vous jamais faire
j = j++
oui = i++
; il suffit de nej++
eti++
(comme Kshitij Mehta dit dans les commentaires). Si vous êtes intéressé par pourquoi, vous pouvez lisez cette question et ses réponses.Je vais vous donner un indice: le
i = i++;
ne fait pas ce que vous pensez que cela fonctionne.Je ne sais pas vraiment comment le rendre plus succincte que celle-ci:
ou comme pour la boucle, couper une ligne
Si vous n'avez pas l'esprit de certains de moins en moins efficace code:
Je ne peux pas voir votre triangle, mais je pense que vous avez besoin de ensemble j 1 avant chaque boucle sur j:
i=i++
des déclarations comme les autres ont dit (j'ai copié/collé ton code sans y prêter attention).