2015-06-23 1 views
0
#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 25 


size = 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 ?? 

}inputing потока неизвестных ни в целых числах, и делая целые operatins на нем

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

и дайте ему работать на вход «5 15 25 35 15 5», как это ..

ответ

2

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

int n; 
vector<int> v; 

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

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

См:

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

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

+0

я использую devcc, .. но в программе, цикл не заканчивается, когда я вошел вход, цикл по-прежнему работает и ищет вход – Keertan

+0

@Keertan Если закрыть входной поток (^ Z на окнах, на которые я верю, или^D для unix) цикл закончится, вы также можете просто ввести что-то не распознаваемое как целое (например, «exit»). – fjardon

0

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

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

Я думаю, что OP хочет что-то сделать со значениями (следовательно, название: * делает целые операции над ним *) – fjardon

+0

@fjardon Первоначально это было сделано как комментарий к вашему ответу, но это было слишком уродливо без форматирования. – user4581301

+0

в этом случае тоже .. петли while не заканчиваются. @fjardon – Keertan