Предмет: Информатика, автор: catetern

Задан массив из k чисел. Преобразовать массив следующим образом: все отрицательные элементы массива перенести в начало, а все остальные – в конец, сохранив исходное взаимное расположение как среди отрицательных, так и среди положительных элементов.

Приложения:

restIess: В интернете есть уже куча ответов на этот вопрос

Ответы

Автор ответа: trauanaofficial
1

Ответ:

#include <iostream>

#include <iomanip>

#include <cstdlib>

using namespace std;

int main()

{

   setlocale(LC_ALL, "rus");

   int  i, j, k;

   int mas[10];

   j = 0;

   cout << "Введите число элементов массива: " << endl;

   cin >> k;

   if (k > 10) {

       cout << "Ошибка!" << endl;

       return 1;

   }

   else {

       cout << "Первоначальный массив: " << endl;

       for (i = 0; i < k; i++) {

           mas[i] = rand() % 101 - 50;

           cout << mas[i] << setw(5);

       }

       cout << endl;

       for (i = 0; i < k; i++) {

           if (mas[i] < 0) {

               mas[j] = mas[i];

               j++;

           }

       }

       for (i = 0; i < k + 1; i++) {

           if (mas[i] > 0) {

               mas[j] = mas[i];

               j++;

           }

       }

       cout << "Измененный массив:" << endl;

       for (j = 0; j < k; j++) {

           cout << mas[j] << setw(5);

       }

   }

   return 0;

}

Похожие вопросы
Предмет: Английский язык, автор: АНЯЛис2004810