Ввести последовательность чисел без массива и определить номер последнего отрицательного элемента
Проблемы возникшие с решением:
- Как остановить данный цикл, при вводе последнего числа последовательности?
- Выводится первый отрицательный элемент, а нужен последний.
Подскажите, пожалуйста, как исправить код.
#include <iostream>
int main() {
int n = 1, x = 0;
std::cout << "Enter the sequence: ";
while (std::cin >> x) {
std::cin >> x;
if (x >= 0)
n++;
}
std::cout << n;
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
#include <iostream>
using namespace std;
int main() {
int no = 0, nno = 0, x;
while (cin >> x) {
no++;
if (x < 0) nno = no;
}
cout << nno;
}
Просто считаете все числа, и если отрицательное - перезаписываете его номер.
Прекратить цикл можно или введя Ctrl-Z (в Windows), или введя не число.