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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2015, 09:26   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Гораздо проще описать одномерный массив размером в размер строки матрицы и туда тремя циклами переписать из строки данные, выстраивая их:
Код:
j:=1;
for i:=0 to n do if a[i,l]<0 then begin b[j]:=a[i,l]; inc(j); end;
for i:=0 to n do if a[i,l]=0 then begin b[j]:=a[i,l]; inc(j); end;
for i:=0 to n do if a[i,l]>0 then begin b[j]:=a[i,l]; inc(j); end;
Делов то.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.02.2015, 09:28   #12
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Чейта исходный от 0, а новый с 1?
Poma][a вне форума Ответить с цитированием
Старый 25.02.2015, 09:33   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Чейта исходный от 0, а новый с 1?
Та так... весна )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.02.2015, 10:00   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, с дополнительным массивом задача становится банальной!

anton_guitar, если нужно обойтись одним массивом, то решение (с небольшим обсуждением) можно посмотреть в этой теме:
http://programmersforum.ru/showthread.php?t=172089
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.02.2015, 10:19   #15
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Нолики всё же нужно вперед
Poma][a вне форума Ответить с цитированием
Старый 25.02.2015, 11:58   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Нолики всё же нужно вперед
нолики по условию задачи всё же нужно назад.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.02.2015, 12:16   #17
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Разве?
Цитата:
Для примера: 5 -7 -10 0 9, на выходе должны получить -7 -10 5 9 0.
12345567
Poma][a вне форума Ответить с цитированием
Старый 25.02.2015, 12:26   #18
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
var p:array[1..12,1..10] of integer;
    i,j,k,l,z:integer;
begin
   Randomize;
   For i:=1 to 12 do
   begin
      For j:=1 to 10 do
      begin
         p[i,j]:=-5+Random(11);
         Write(p[i,j],'  ');
      end;
      Writeln;
   end;
   Writeln;
   For i:=1 to 12 do
   begin
      l:=1;
      For j:=1 to 10 do
         If p[i,j]<0 then
         begin
            z:=p[i,j];
            For k:=j downto l+1 do
               p[i,k]:=p[i,k-1];
            p[i,l]:=z;
            l:=l+1;
         end;
      l:=1;
      For j:=1 to 10 do
         If p[i,j]>0 then
         begin
            z:=p[i,j];
            For k:=j downto l+1 do
               p[i,k]:=p[i,k-1];
            p[i,l]:=z;
            l:=l+1;
         end;
   end;
   For i:=1 to 12 do
   begin
      For j:=1 to 10 do
         Write(p[i,j],'  ');
      Writeln;
   end;
   Readln;
end.
Сойдет?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 25.02.2015, 13:38   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Разве?
Цитата:
на выходе должны получить -7 -10 5 9 0.
Точно так.
осталось выяснить, где, по вашему у массива "зад", а где "перёд"
на мой взгляд, массив выводится слева направо, от меньших индексов к большим, поэтому правее расположены элементы, ближе к концу...



newerow1989, не понял, а зачем Вам матрица (двухмерный массив)?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.02.2015, 13:42   #20
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Цитата:
зачем Вам матрица (двухмерный массив)?
Там же написано: В каждой строке
Цитата:
В каждой строке матрицы расположить сначала все отрицательные элементы
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь [PASCAL] VLaSSoNee Помощь студентам 2 17.02.2015 07:56
Сортировка массива. Нужна помощь. vitaly38 Помощь студентам 8 13.05.2010 15:32
Нужна помощь в сортировке 777Артём777 Общие вопросы Delphi 4 14.03.2009 09:39