我之前問過這樣的問題,但它有點誤導,因爲我沒有包括打印順序。我認爲再問一次會更貼切。使用光標操作打印垂直直方圖C++ [ncurses] [已解決無W/O ncurses]
#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;
}
林意識到,輸出是一樣的:
for (i = 0; i < a + b + c; i++){
cout << "*" << endl;
}
因此,對於2 3 1我得到:
*
*
*
*
*
*
我要的是:
*
* *
* * * //Horizontal distance between 2 shapes don't matter.
它必須能準確地完成在order.Also每列的印刷必須是完成一個獨立的功能。
第一個循環:
*
*
第二環:
*
* *
* *
最後循環:
*
* *
* * *
* 編輯: * Appereantly有一個其他的解決辦法做到不任何使用光標操作。我的老師建議我應該先將字符存儲在char指針中,然後逐行打印該char指針的內存。其中工作得很好。
沒有「光標」在標準C++中,只有一個不透明的輸出流。你必須重新思考一切。 – 2013-05-11 11:38:01
這就是爲什麼我需要通過使用ncurses或做同樣的事情來做到這一點。請幫忙嗎? – SpiderRico 2013-05-11 13:44:25
是的,你可以用ncurses來完成。通過教程,你應該能夠立即做到這一點。 – 2013-05-12 15:41:28