Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Отсортировать отрицательные элементы массива, оставляя положительные на своих местах. В С++

Надежда Мальцева Ученик (225), закрыт 12 лет назад
Лучший ответ
ra Высший разум (113275) 12 лет назад
Модификация пузырьковой сортировки:

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
srand(time(0));
cout << "random array:";
int a[20];
for (int c = 0; c < sizeof(a)/sizeof(int); ++c) {
cout << ' ' << (a[c] = rand() % 21 - 10);
}
bool t = true;
while (t) {
t = false;
for (int c1 = 0; c1 < sizeof(a)/sizeof(int) - 1; ++c1)
if (a[c1] < 0)
for (int c2 = c1 + 1; c2 < sizeof(a)/sizeof(int); ++c2)
if (a[c1] > a[c2]) {
int tmp = a[c1];
a[c1] = a[c2];
a[c2] = tmp;
t = true;
}
}
cout << endl << "sorted array:";
for (int c = 0; c < sizeof(a)/sizeof(int); ++c) {
cout << ' ' << a[c];
}
}
Остальные ответы
Псевдоним Мыслитель (7847) 12 лет назад
Находишь все отрицательные элементы массива, записываешь в отдельный сортируешь пузырьком и выводишь. за 100WMR напишу
Похожие вопросы