ввод потока с неизвестным числом целых чисел и выполнение целочисленных операций над ним

#include<stdio.h>
#include<conio.h>
#include<iostream>

using namespace std;

main()
{

int n;

char arr[50];

gets(arr);

//the entered integers are in the array. i rechecked.

//now, to find the number of integers,... i tried these methods:

//the input i used was 5 45 25 15 5 25size = sizeof(arr)/sizeof(*arr); //here o/p is wrong.

length = 0;
while (true)
{
if (yo[length] == '\0')
break;
else
length++;
}
cout<<length; // here the o/p is wrong.

//i also tried using strlen operation, but the answear is wrong.

//how else can i get the o/p as 6 ??

}

Теперь я попытался найти в Интернете ответы и многие упомянутые векторы, но затем я попытался изучить его.
если векторы — единственный путь, можете ли вы написать программу, которая получает числа, такие как строковый ввод, а затем преобразует их в массив (как функция разбора phps), а затем подсчитывает количество элементов ??

и пусть это работает для ввода «5 15 25 35 15 5», как это ..

0

Решение

Чтобы прочитать целое число, вы должны использовать >> оператор.

int n;
vector<int> v;

while(cin >> n)
v.push_back(n);

После этого вектор v содержит список целых чисел, и вы можете запросить количество целых чисел, используя: v.size(),

Увидеть:

Кстати, я вижу, вы используете conio.h а также stdio.hподскажите пожалуйста какой компилятор вы используете, я не видел этих заголовков со времен TurboC ++ 3.0

Для современного компилятора вы должны включить: <iostream> а также <vector>

2

Другие решения

Просто получает счет. Входные значения отбрасываются.

int count = 0;
int val;
while (cin >> val)
{
count++;
}
0

По вопросам рекламы [email protected]