Попадаю в вечный цикл
Решаю задачку где часть задания - считать числа введенные через пробел. Вроде и нашел подходящий код, ибо мой не работал. Но незадача, попадаю в вечный цикл, ибо дальше цикла вообще ничего не происходит и программа стоит на месте.
#include <iostream>
#include <string>
#include <cstring>
#include <vector>
#include <math.h>
using namespace std;
int main()
{
vector<int> numbers;
int n;
while (cin >> n) {
numbers.push_back(n);
}
int a = numbers.size();
for (int b = 0; b < a; b++) { // ЭТО ПРОВЕРКА МАССИВА, СЮДА ПРОГРАММА НЕ ДОХОДИТ, ПРОСТО НИЧЕГО НЕ ПРОИСХОДИТ
cout << numbers[b];
}
if (numbers[0] >= 1 && numbers[1] >= 1 && numbers[2] <= pow(10, 18)) {
int c = (int)pow(numbers[0], numbers[1]);
int c2 = (int)c;
int d = c % numbers[2];
if (d > 0) {
cout << "\n" << d;
}
}
}
Ответы (2 шт):
Автор решения: Harry
→ Ссылка
Вот, например, пока целые числа успешно читаюся — примерно так:
vector<int> numbers;
int n;
while(cin >> n) numbers.push_back(n);
Если дадите точно сформулированное задание, можно будет делать под него. Пока что вы задание изложили крайне расплывчато.