вопрос я застрял на требует наличия пользовательского ввода в «базовый 5 количество» (число, содержащее только 0s, 1с, 2с, 3с, и/или 4S)используя время цикла для подсчета и цифры дисплея
Я должен проверить номер, чтобы узнать, действительно ли это номер базы 5, если это так, мне нужно вывести количество вхождений каждого числа (число 0s, число 1 и т. Д.)
I смотрели онлайн уже для совета, но большинство из того, что я нашел, использует вещи, которые не были охвачены в материале курса, и для меня очень важно, чтобы я понял и понял материал, связанный с курсом.
Например, я знаю, что большинство людей будут использовать «массивы» для этого, но в этом случае я не могу этого сделать.
Так что, чтобы точно определить, что я ищу, нужно уметь выполнять то, что необходимо в этом вопросе, используя цикл WHILE.
Вот одна из моих попыток:
#include <iostream>
using namespace std;
int main()
{
int zeros = 0;
int ones = 0;
int twos = 0;
int threes = 0;
int fours = 0;
int number;
cout << "Please enter a base 5 number\n";
cin >> number;
cout << endl;
while (cin.get() == '0')
{
zeros++;
}
while (cin.get() == '1')
{
ones++;
}
while (cin.get() == '2')
{
twos++;
}
while (cin.get() == '3')
{
threes++;
}
while (cin.get() == '4')
{
fours++;
}
cout << "Number of Zeros: " << zeros;
cout << endl;
cout << "Number of Ones: " << ones;
cout << endl;
cout << "Number of Twos: " << twos;
cout << endl;
cout << "Number of Threes: " << threes;
cout << endl;
cout << "Number of Fours: " << fours;
cout << endl;
return 0;
}
Я попытался с и без отдельных цитат вокруг цифр, и многие другие незначительные изменения кода не увенчались успехом. Также я считаю, что мне не хватает инструкции «если», чтобы проверить, действительно ли это номер базы 5, прежде чем использовать «whiles», но я просто не могу придумать, как можно проверить, что
Возможно, что-то вроде :
while (cin.get() != '0' || '1' || '2' || '3' || '4')
......
?
и в любом случае «whiles» даже не подсчитывают в этом случае, и я не могу понять, почему!
Кроме того, причина, по которой я решил попробовать этот метод (помимо необходимости использовать цикл while и другие связанные с ним темы, связанные с курсом), я использовал тот же метод в предыдущей программе, которая работала отлично. Предыдущий был по существу пользователем, вводящим строку, и мне приходилось подсчитывать и выводить количество символов внутри него (включая пробелы, символы и т. Д.), Пока пользователь не нажмет «return». Вот часть этого старого кода:
char input;
int counter = 0;
while (cin.get() != '\n')
{
counter++;
}
TL; др вход база 5 число, счет + выход число вхождений каждого числа, необходимо использовать во время цикла
Вы на самом деле не объяснил, какие проблемы вы столкнулись, насколько как я могу судить. Я не понимаю эти циклы 'cin.get()'. Вы пытаетесь разобрать «номер»? –
Ваша программа допускает только входные данные, где цифры находятся в возрастающем порядке ... e. г.'013' или' 1234'. –