#include #include #include // Функция для инициализации массива случайными числами от -50 до 99 void InitArray(int *Array, int n) { for (int i = 0; i < n; i++) { Array[i] = rand() % 100 - 50; } } // Функция для печати length элементов на экран, начиная с элемента start void PrintArray(int *Array, int start, int length) { for (int i = start; i < start + length - 1; i++) { std::cout << Array[i] << "\t"; } std::cout << std::endl; } // Функция для поиска максимального элемента и его индекса int FindMax(int *Array, int n, int * &Max) { int Index = 0; for (int i = 0; i < n; i++) { if (Array[i] > *Max) { Max = &Array[i]; Index = i; } } return Index; } int main() { setlocale(LC_ALL, "Russian"); srand(time(0)); char *Choice = new char[16]; strcpy_s(Choice, 16, "Yes"); int n; int *Max = nullptr; while (strcmp(Choice, "Yes") == 0) { std::cout << "Введите размер массива: "; std::cin >> n; int *Array = new int[n]; InitArray(Array, n); std::cout << "Сгенерированный массив: " << std::endl; PrintArray(Array, 0, n); Max = Array; int Index = FindMax(Array, n, Max); std::cout << "Максимальный элемент массива равен " << *Max << " и находится на " << Index + 1 << " месте." << std::endl; std::cout << "Положительные элементы слева от максимума: "; for (int i = 0; i < Index; i++) { if (Array[i] > 0) { std::cout << Array[i] << "\t"; } } std::cout << std::endl; delete[] Array; std::cout << "Еще раз? (Yes / No): "; getchar(); gets_s(Choice, 16); } delete[] Choice; return 0; }