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;
}