В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
bulochka228
bulochka228
21.06.2020 02:07 •  Информатика

С++ Дан массив a из n целых чисел. Требуется поменять местами первый отрицательный и последний положительный элементы массива. Если какого-то из этих элементов в массиве нет, то не изменять массив. Ноль считать положительным числом.

Формат входных данных
На первой строке записано натуральное число n (n<100) — размер массива. На следующей строке через пробел записаны n целых чисел ai (|ai|≤1000) — элементы массива.
Формат выходных данных
Требуется вывести n чисел — изменённый массив.
входные данные
9
1 2 3 4 -9 10 12 14 15
выходные данные
1 2 3 4 15 10 12 14 -9

Ответ:
SOV20
SOV20
19.09.2021 20:00

#include <bits/stdc++.h>

using namespace std;

int main(){

int n, negativeIndex = 0, positiveIndex = 0, buf = 0;

bool a, b = false;

cin >> n;

int arr[n];

for(int i = 0; i < n; ++i){

 cin >> arr[i];

}

for(int i = 0; i < n; ++i){

 if(arr[i] < 0){

  negativeIndex = i;

  a = true;

  break;  

 }

}

for(int i = n-1; i >= 0; --i){

 if(arr[i] >= 0)

  positiveIndex = i;

  b = true;

  break;

}

if(a && b){

buf = arr[negativeIndex];

arr[negativeIndex] = arr[positiveIndex];

arr[positiveIndex] = buf;

}

for(int i = 0; i < n; ++i){

 cout << arr[i] << "\t";

}

return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?