C
、Y
、M
のいずれかを入力した場合、#Color
を入力するようにプログラムされたコードです。しかし、ユーザがW
、B
、G
と入力した場合、プログラムは#Black&White
を印刷することになっています。残念ながら、私のコードは私の最初のforループをスキップし、#Black&White
を印刷することにまっすぐに行く、何が間違っているの?私のコードが動作しない理由を理解できませんでした - codeforce - Brainの写真
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<char>colors;
int row, column, letters = 0;
cin>>row, column;
letters = row * column;
for(int i = 0; i < letters; i++)
{
char temp;
cin>>temp;
colors.push_back(temp);
}
for(int j = 0; j < letters; j++)
{
if(colors[j] == 'C' || colors[j] == 'Y' || colors[j] == 'M')
{
cout<<"#color"<<endl;
return 0;
}
}
cout<<"#Black&White"<<endl;
return 0;
}
'letters = row * column;はどのような値ですか? – code11
文字がいくつあるのか(ベクトルが保持する文字数)を知っているだけです。ユーザは、行列のような値を入力すると仮定します。 –