#include <iostream>
using namespace std;
int main()
{
int a, b, c, i;
cin >> a >> b >> c;
for (i = 0; i < a; i++)
cout << "*" << endl;
for (i = 0; i < b; i++)
cout << "*" << endl;
for (i = 0; i < c; i++)
cout << "*" << endl;
}
Im conscient que la sortie est la même que:Comment imprimer un histogramme vertical en C++
for (i = 0; i < a + b + c; i++){
cout << "*" << endl;
}
Donc, pour 2 3 1 je reçois:
*
*
*
*
*
*
Ce que je veux est:
*
* *
* * * //Horizontal distance between 2 shapes don't matter.
Je ne sais pas sur la façon de mettre le curseur au bon endroit compte tenu de l'impression doit être fait de haut en bas.
EDIT: Je n'étais pas clair sur l'ordre d'impression. J'espère que l'exemple suivant aide et que, si possible, l'impression de chaque colonne doit être effectuée en utilisant une fonction séparée.
Première boucle:
*
*
Deuxième boucle:
*
* *
* *
dernière boucle:
*
* *
* * *
impression doit être fait exactement ce que order.Print la première colonne, puis la deuxième et continue comme ça.
[** 'std :: setw' **] (http://en.cppreference.com/w/cpp/io/manip/setw) – 0x499602D2