Форум программистов, компьютерный форум CyberForum.ru

Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания - C++

Восстановить пароль Регистрация
 
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
31.03.2012, 11:52     Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания #1
Нужно задать массив В [14] целых чисел. Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания, а отрицательные - в порядке убывания.
я уже заполнил массив, а вот как его сортировать без дополнительного массива неясно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
void main()
{
 int B[14],tmp,i;
 clrscr();
 randomize();
 for (i=0;i<14;i++)
  {B[i]=rand()%201-100;
   printf("%d ",B[i]);
  }
тут сортировка
 
printf("\n konechnii massiv ");
 for (i=0;i<14;i++)
  {printf("%d ",B[i]);}
getch();
}
я понимаю, что с дополнительным массивом это будет примерно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
for(i=0;i<14;i++)
{
max=B[i];
for(t=(i+1);t<10;t++)
{
   if (b[t]>max)
{
swap=B[i];
B[i]=m[t];
m[t]=swap;
}
}
а как чтобы не использовать эту t?
чтобы рассположить положительные элементы массива в порядке возрастания, а отрицательные - в порядке убывания, нужно условие, то ясно!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2012, 11:52     Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания
Посмотрите здесь:

Отсортировать элементы с четными индексами в порядке убывания, нечетные - возрастания C++
C++ Дан одномерный массив.Не используя других массивов переставить его элементы в обратном порядке.
Дан одномерный массив. Не используя других массивов, переставить его элементы в обратном порядке C++
Вывести элементы массиыва с чётными номерами в порядке возрастания, не используя условный оператор. C++
Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов C++
Не используя других массивов, переставить элементы заданного массива в обратном порядке C++
C++ Отсортировать в порядке возрастания все положительные элементы массива
C++ Маcсив: Не используя других массивов, переставить его элементы в обратном порядке.

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
31.03.2012, 12:11     Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
а отрицательные должны идти перед положительными?
-5 -10 -24 3 48 98 так?

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 short flag=1;
 while (flag==1)
  {
   flag=0;
   for (i=0;i<13;i++)
    {
     if (B[i]>=0)
      {
       if (B[i]>B[i+1])
        {
         int temp=B[i];
         B[i]=B[i+1];
         B[i+1]=temp;
         flag=1;
        }
     }
    else
     {
      if (B[i+1]<0 && B[i+1]>B[i])
       {
        int temp=B[i];
        B[i]=B[i+1];
        B[i+1]=temp;
        flag=1;
       }  
     }  
    } 
  }
так вроде
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
31.03.2012, 12:42  [ТС]     Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания #3
все получилось! спасибо:dance3:
Yandex
Объявления
31.03.2012, 12:42     Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания
Ответ Создать тему
Опции темы

Текущее время: 18:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru