как показать число, занятое пользователем, сколько времени оно вводится пользователем

0

Хорошо, что программа кажется легкой, когда вы делаете с циклами, но как насчет того, если еще, если и еще можно сделать это с этими условиями, я попытался, и вот мои усилия, но я потерпел неудачу, полностью потерпел неудачу.

#include<iostream>
#include<conio.h>
int main(){
    using namespace std;
    int a,b,c,d,e,f,g,h,j,k,l;
    int c1=0;
    int c2=0;
    int c3=0;
    int c4=0;
    cout<<"please enter first number\n";
    cin>>a;
    cout<<"please enter second number\n";
    cin>>b;
    cout<<"please enter third number\n";
    cin>>c;
    cout<<"please enter fourth number\n";
    cin>>d;
    cout<<"please enter fifth number\n";
    cin>>e;
    cout<<"please enter sixth number\n";
    cin>>f;
    cout<<"please enter seventh number\n";
    cin>>g;
    cout<<"please enter eighth number\n";
    cin>>h;
    cout<<"please enter ninth number\n";
    cin>>j;
    cout<<"please enter tenth number\n";
    cin>>k;
    cout<<"please enter eleventh number\n";
    cin>>l;
    if(a==1)
    {
        c1=a+1;

    }
    else if (a==1 && b==1)
    {
        c2=a+b;
    }
    else if (a==1 && b==1 && c==1)
    {
        c3=a+b+c;
    }
    else if (a==4)
    {
        c4=a+1;
    }
    cout<<"no of 1's="<<c1;
getch();
}

я принимаю значения и после принятия значений я хочу показать, что 1 показывает, сколько времени

Теги:

4 ответа

2
Лучший ответ

Для того, чтобы подсчитать, сколько из ones вы имеете в своем письме переменных, которые вы можете сделать так:

int c1=0;

if(a==1)
{
    c1++;
}
if (b==1)
{
    c1++;
}

    ...

if (l==1)
{
    c1++;
}
cout<<"no of 1's="<<c1;
  • 0
    это выглядит очень хорошо
  • 1
    Я уверен, что это будет работать.
3

Используйте цикл, чтобы ввести N чисел. Пока вы их читаете (обязательно проверяйте ошибки, конечно), подсчитайте количество раз, когда вы получаете число 1.

  • 0
    братан, это легко с петлей, но я хочу сделать с, если еще условие
  • 1
    какова ваша причина, чтобы избежать петли? imho это самый читаемый / понятный вариант сделать это ...
Показать ещё 1 комментарий
0
#include<iostream>
#include<conio.h>
#include <array>
#include <unordered_map>
int main(){
    using namespace std;

    static const int cCount = 11;
    array<int, cCount> values;
    static const array<std::string, cCount> numbers = {
      "first",
      "second",

...

      "eleventh"}; 

    for (int = 0; i < cCount; ++i) {
      cout<<"please enter " << numbers[i] << " number\n";
      cin>> values[i];
    }  


    unordered_map<int, int> counts;
    for (int = 0; i < cCount; ++i) {
      ++counts[values[i]];
    }
    cout << "no of 1's=" << counts[1];
    getch();
}
  • 1
    вы могли бы посчитать ones в первом цикле
  • 0
    Я знаю, я просто хотел сохранить структуру, аналогичную исходному коду.
Показать ещё 2 комментария
-2

Вау, какой беспорядок.

используйте хеш-таблицу, ключ - это пользовательский ввод, а значение - без знака (этот знак не будет отслеживать, сколько раз пользователь вводит значение с соответствующим ключом). Всякий раз, когда пользователь вводит значение, увеличивайте значение на этом ключе. Затем, в конце, верните значение, сохраненное в ключе == '1'.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню