Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2010, 23:27   #1
Сумерки
 
Регистрация: 21.06.2009
Сообщений: 2
По умолчанию массивы. вначале нули, затем положительные, в конце отрицательные.

не могу решить...помогите пожалуйста... Задачу нужно решить в Паскале.
Переформировать элементы исходного массива из N чисел, расположив вначале нули, затем положительные, в конце отрицательные.
Сумерки вне форума Ответить с цитированием
Старый 17.02.2010, 01:03   #2
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Ну хоть бы какие то наработки написали...а то писать программу с нуля...ну разве что не на халяву
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 17.02.2010, 01:18   #3
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Вариант 1: Обращайтесь во фриланс.
Вариант 2: Давайте свой код, ошибку мы найдём.
Carbon вне форума Ответить с цитированием
Старый 17.02.2010, 06:36   #4
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

2Сумерки использовать доп массив можно?
Google2010 вне форума Ответить с цитированием
Старый 17.02.2010, 10:12   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а я бы сделал это в одном массиве за два прохода:
первый проход - если текущий элемент нулевой меняем местами текущий элемент и K-й (К от 1, каждый раз при смене увеличиваем на 1)

второй проход - так же поступаем с положительными числами (K НЕ СБРАСЫВАЕМ):

Код:
K := 1;
{первый проход - нулевые в начало массива}
for i:=1 to N do
   if (A[i]=0) and (i<>K) then begin
      temp := A[K];
      A[K] := A[i];
      A[i] := temp;
      inc(K);
   end;

{второй проход - положительные после нулевых}
for i:=K-1 to N do
   if (A[i]>0) and (i<>K) then begin
      temp := A[K];
      A[K] := A[i];
      A[i] := temp;
      inc(K);
   end;

WriteLn('всё.');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.02.2010, 11:21   #6
Сумерки
 
Регистрация: 21.06.2009
Сообщений: 2
По умолчанию

Спасибо Serge_Bliznykov))))
Сумерки вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Random. отрицательные и положительные числа Seran4ek Общие вопросы Delphi 10 18.03.2014 22:16
В матрице отрицательные элементы заменить на нули denis12345 Паскаль, Turbo Pascal, PascalABC.NET 2 13.06.2009 17:25
Нули artemavd Общие вопросы Delphi 22 03.08.2008 10:49
Убрать нули!!!) artemavd Общие вопросы Delphi 13 29.07.2008 09:10
в начале все отрицательные, затем все положительные элементы в матрице motaro Паскаль, Turbo Pascal, PascalABC.NET 2 07.03.2008 19:16