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

Все положительные элементы массива поставить в начало, а отрицательные - в конец - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Ириска5
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 40
22.10.2011, 07:20     Все положительные элементы массива поставить в начало, а отрицательные - в конец #1
Помогите решить такую задачу пжл:
дан одномерный массив "а" (состоящий из вещественных чисел). Необходимо пройдя по массиву один раз все его положительные элементы поставить в начало а отрицательные в конец, при этом использовать переменные - i и j, но они будут являются счетчиками, то есть им нельзя присваивать значения констант или элементы массива
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2011, 07:20     Все положительные элементы массива поставить в начало, а отрицательные - в конец
Посмотрите здесь:

Переставить все отрицательные элементы в начало массива C++
C++ Необходимо, пройдя по массиву один раз, все его положительные элементы поставить в начало а отрицательные в конец
В одномерном массиве все отрицательные элементы переместить в начало массива C++
Все отрицательные цифры поместить в начало массива, а положительные в конец C++
В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования C++
Переместить все положительные элементы в начало массива C++
Поставить в начало массива все четные элементы, а конец – все нечетные C++
C++ Перенести все отрицательные элементы массива в конец

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.10.2011, 09:36     Все положительные элементы массива поставить в начало, а отрицательные - в конец #2
Если за один проход, то правильно сформулировать надо так: все неотрицательные в начало, а все отрицательные в конец.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Transform(double *a, int n)
{
   int i = 0, j = n - 1;
   double buf;
   while(i < j)
   {
      while(i < j && a[i] >= 0)
         i++;
      while(i < j && a[j] < 0)
         j--;
      if (i < j)
      {
          buf = a[i]; a[i] = a[j]; a[j] = buf;
          i++; j--;
      }
   }
}
Ириска5
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 40
22.10.2011, 22:12  [ТС]     Все положительные элементы массива поставить в начало, а отрицательные - в конец #3
Thinker, извините я забыла указать что в программе нельзя больше использовать никаких переменных кроме i и j
Yandex
Объявления
22.10.2011, 22:12     Все положительные элементы массива поставить в начало, а отрицательные - в конец
Ответ Создать тему
Опции темы

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