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

С++ Дан массив 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

Ответ:
2a741
2a741
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?