我需要幫助使用「for循環」超過2個值這是一起去。這是我的代碼:在for循環中使用多個值?
for(x=1 , y=1 ; x<6 , y<10 ; x++ , y++){
cout << "x:" << x << endl;
cout << "y:" << y << endl;
現在,當我運行它... x和y上升到9 但我希望他們能一起運行,但我想X停止在6輸出,我想ÿ繼續9 ..但我不知道該怎麼做,或者甚至有可能這樣做..在此先感謝!
我需要幫助使用「for循環」超過2個值這是一起去。這是我的代碼:在for循環中使用多個值?
for(x=1 , y=1 ; x<6 , y<10 ; x++ , y++){
cout << "x:" << x << endl;
cout << "y:" << y << endl;
現在,當我運行它... x和y上升到9 但我希望他們能一起運行,但我想X停止在6輸出,我想ÿ繼續9 ..但我不知道該怎麼做,或者甚至有可能這樣做..在此先感謝!
我不使用c++
所以有人糾正我,如果我的語法是錯誤的,但作爲一種廣譜程序員我想像的解決方案將是這個樣子:
for (x=1, y=1; x<6 || y<10;) {
if (x<6) {
cout << "x:" << x << endl;
++x;
}
if (y<10) {
cout << "y:" << y << endl;
++y;
}
}
也有辦法爲了達到這種效果,不用離開使用三元運算符的for循環的核心,但爲了簡單起見,我在這裏排除了這一點。
不應有條件爲'x <6 || ÿ<10'?按照現狀,這將停止在6 – vu1p3n0x
while-conditional應該是'y <10'並且'if(y <10)'是obselete。 – user2176127
感謝編輯@ user2176127我下線:) –
最簡單的,對於這個問題的一個自然的解釋,是一個嵌套的循環:
for(int y = 1; y < 10; ++y)
{
for(int x = 1; x < 6; ++x)
{
cout << "x:" << x << endl;
cout << "y:" << y << endl;
}
}
相反,如果你真的想兩個值稱爲x
和y
這始終是相同的,並且你想要做一個爲x < 6
和別的東西y < 10
的東西,那麼一個循環計數器就足夠了:
for(int i = 1; i < 10; ++i)
{
int const y = i;
if(i < 6)
{
int const x = i;
// Do the x and y thing here. E.g.
cout << "x: " << x << endl;
}
// Do the y only thing here. E.g.
cout << "y: " << y << endl;
}
如果你的意思是別的東西,那麼你需要澄清你的問題,例如以期望的輸出爲例。
TEST.CPP:
#include <iostream>
int main() {
for(int i = 1; i < 6; ++i) {
std::cout << "x: " << i << std::endl;
std::cout << "y: " << i << std::endl;
}
for(int i = 6; i < 10; ++i) {
std::cout << "y: " << i << std::endl;
}
}
輸出:
x: 1
y: 1
x: 2
y: 2
x: 3
y: 3
x: 4
y: 4
x: 5
y: 5
y: 6
y: 7
y: 8
y: 9
我想循環的每次迭代通常會花費更少的時間,如果它檢查1而不是2條件。但我不確定編譯器如何優化代碼。畢竟這可能不重要。 –
這確實幫了我!非常感謝:)(我是一個初學者,所以我不在乎優化代碼。 –
你的意思是,不是使用'if'條件打印出來之前檢查x'的'價值等? –
@Pavlin Edrev當x等於6且y小於10時,你會在循環體中做什麼? –
@VladfromMoscow我只是想改變自己的values..by顯示每個號碼已變更......如果這給意義嗎 –