Загрузка данных


int Lab1_Static() {
    system("cls");
    info();
    SetColor(11, 0);
    cout << "===============================================================================\n";
    cout << "Лабораторная работа №1 (Статический массив)\n";
    cout << "===============================================================================\n";
    SetColor(7, 0);
    cout << "Задача: Задан массив x[1], x[2], ..., x[15].\n";
    cout << "        Определить номер первого отрицательного элемента и номер\n";
    cout << "        последнего отрицательного элемента.\n";
    cout << "===============================================================================\n\n";

    const int SIZE = 15;
    int arr[SIZE];
    
    cout << "Введите 15 целых чисел (ESC - аварийный выход):\n";
    COORD coord = GetCursorPosition();

    for (int i = 0; i < SIZE; i++) {
        SetCursorPosition(coord.Y, coord.X);
        SPACEBACK(50);
        cout << "x[" << i + 1 << "] = ";
        if (!ReadIntWithESC(arr[i])) return 0;
    }

    cout << "\nВведённые числа: ";
    for (int i = 0; i < SIZE; i++) {
        cout << "x[" << i + 1 << "] = " << arr[i];
        if (i < SIZE - 1) cout << ", ";
        else cout << endl;
    }
    cout << endl;

    // Поиск первого и последнего отрицательного
    int firstIndex = -1;
    int lastIndex = -1;

    for (int i = 0; i < SIZE; i++) {
        if (arr[i] < 0) {
            if (firstIndex == -1) firstIndex = i;  // запоминаем первый
            lastIndex = i;                          // постоянно обновляем последний
        }
    }

    // Вывод результатов
    if (firstIndex != -1) {
        cout << "Первый отрицательный элемент: x[" << firstIndex + 1 << "] = " << arr[firstIndex] << endl;
        cout << "Последний отрицательный элемент: x[" << lastIndex + 1 << "] = " << arr[lastIndex] << endl;
    } else {
        SetColor(12, 0);
        cout << "Отрицательных элементов в массиве нет!" << endl;
        SetColor(7, 0);
    }

    cout << "\nНажмите любую клавишу для возврата в меню...";
    _getch();
    return 0;
}