C/C++

Написать программу на языке С(С++).

Написать программу на языке С(С++). Массивы не использовать!

Вводится последовательность вещественных чисел, найти первую и последнюю
группы знакочередующихся элементов.

Прошу помочь с решением задачи, буду очень благодарен...
Леха Кодак
Леха Кодак
659
#include <iostream>

using namespace std;

int main() {
double prev, curr;
bool first_group_found = false;
int first_group_start, first_group_end;
int last_group_start, last_group_end;

cout << "Введите последовательность вещественных чисел: ";
cin >> prev;

while (cin >> curr) {
if (!first_group_found) {
// Находим начало первой группы
if (prev < 0 && curr > 0) {
first_group_found = true;
first_group_start = prev;
}
} else {
// Находим конец первой группы
if (prev > 0 && curr < 0) {
first_group_end = prev;
}
}

// Находим начало и конец последней группы
if (prev < 0 && curr > 0) {
last_group_start = prev;
} else if (prev > 0 && curr < 0) {
last_group_end = prev;
}

prev = curr;
}

cout << "Первая группа: " << first_group_start << " - " << first_group_end << endl;
cout << "Последняя группа: " << last_group_start << " - " << last_group_end << endl;

return 0;
}
Зайнатдин(Зидан) Махаматдинов
Зайнатдин(Зидан) Махаматдинов
7 365
Лучший ответ
Леха Кодак Можно ли как-то это сделать без функции bool?
без массивов ввод простой - вводишь число в цикле, а sum будет равнятся sum = sum * 10 + n; sum *= 10; sum += 9; и так ты sum превратишь в микро массив типо int arr[] = {1, 0}; при этом sum = 192; так что без массовов можно так воспользоватся