Каково же решение этой проблемы?
Дан массив случайных чисел в диапазоне от -20 до +20. Необходимо найти позиции последних отрицательных элементов и отсортировать элементы, находящиеся между ними.
Например:2 25-19 -4 10 -17 17 2 3 20 18 -7 20 7 0 98 7 3 6 78.
Здесь мы должны найти элементы между -19 и -7(пример)
Что я уже пробовал:
я пытался
int find(int arr[], const int SIZE = 20) { srand(time(NULL)); for (int i = 0; i < SIZE; i++) { arr[i] = rand() % (40 + 1) - 20 + 1; } for (int i = 0; i < SIZE; i++) { cout << arr[i] << " "; } cout << "\n\n"; int left_negative = 0; for (int i = 0; i < SIZE; i++) { if (arr[i] < 0) { left_negative = i; break; } } int right_negative = 0; for (int i = SIZE - 1; i > 0; i--) { if (arr[i] < 0) { right_negative = i; break; } } for (int i = left_negative + 1; i < right_negative - 1; i++) { for (int i = left_negative + 1; i < right_negative - 1; i++) { if (arr[i] > arr[i + 1]) { int temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } } } for (int i = 0; i < SIZE; i++) { cout << arr[i] << " "; } return 0; } int main() { const int SIZE = 20; int arr[SIZE]; find(arr, SIZE); }
Patrice T
А у вас есть вопрос?