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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2011, 21:34   #1
Катя)
Пользователь
 
Аватар для Катя)
 
Регистрация: 02.03.2011
Сообщений: 16
По умолчанию В двумерном массиве, в каждоый строке сначала разместить положительные эелементы, потом отрицательные эел

Прошу помочь с решением.

Задача: В двумерном массиве, в каждоый строке сначала разместить положительные эелементы, потом отрицательные эелементы.

Заранее благодарю)
Катя) вне форума Ответить с цитированием
Старый 14.04.2011, 09:20   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Ну мы-то такую задачу сделаем, а вот вы-то ??? где что вы можете показать ? в чем у вас проблема РЕШЕНИЯ ? ответ "во всем" не подходит , в этом случае сразу называйте цену.

А пока я вам помогу вот чем : чтобы решить задачу и написать программу на паскале надо : обяъвить перменные, в главном теле программы обознавить ввод данных от пользователя (если необходим ввод, а также и вывод текста для запроса у пользователя), произвести некие манипуляции, в вашем случае перебор массива при помощи циклов и на каждом шаге сравнение с нулем и перенос по результатам сравнения. после чего вывод отсортированного массива.

Удачи!
phomm вне форума Ответить с цитированием
Старый 14.04.2011, 13:52   #3
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

сделаем как советует phomm:
Код:
//вводим массив
...
for i := 1 to n do
begin
    for j := 1 to n - 1 do
       for jj := j + 1 to n do
         if a[i,j] > a[i,jj] then
         begin
              t:=a[i,j];
              a[i,j] := a[i,jj];
              a[i,jj] := t;
         end;
end;
//выводим отсортированный массив
...
Летучий_СкилетиК вне форума Ответить с цитированием
Старый 14.04.2011, 22:32   #4
Катя)
Пользователь
 
Аватар для Катя)
 
Регистрация: 02.03.2011
Сообщений: 16
По умолчанию

phomm, я конечно все понимаю, но отчитывать меня здесь не надо!
с мобилы много наработок не напишешь

Летучий_СкилетиК, спасибо, попробую сейчас
Катя) вне форума Ответить с цитированием
Старый 14.04.2011, 22:59   #5
Катя)
Пользователь
 
Аватар для Катя)
 
Регистрация: 02.03.2011
Сообщений: 16
По умолчанию

Код:
Program bs;
Type m=array[1..20,1..20] of integer;
Var a:m;
    k,n,i,j,g,p  :integer;
    
Begin
  writeln('Vvedite K and N');
  readln(k,n);
For i:=1 to k do
For j:=1 to n do

begin
  write('a[',i,',',j,']=');
  readln(a[i,j]);
end;

for i:=1 to n do
for j:=1 to k-1 do
for g:=j+1 to n do
begin
 if a[i,j] < a[i,g] then
                     begin
                     p:=a[i,j];
                     a[i,j]:=a[j,g];
                     a[i,g]:=p;
                      end;
              for i:=1 to k do
 begin
  for j:=1 to n do
  write(a[i,j],' ');
  writeln;
end;

end;

end.
понять почему не работает, раньше хоть выводилось, сейчас нет
разные варианты перепробывала
Катя) вне форума Ответить с цитированием
Старый 14.04.2011, 23:03   #6
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Первое что бросается в глаза, почему вы в цикле:
Код:
for j:=1 to k-1 do
написали под конец цикл:
Код:
for j:=1 to n do
Так делать нельзя. Что-то намудрили в begin и end...
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 14.04.2011 в 23:06.
MyLastHit вне форума Ответить с цитированием
Старый 14.04.2011, 23:08   #7
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Вот:
Код:
Type m=array[1..20,1..20] of integer;
Var a:m;
    k,n,i,j,g,p  :integer;
    
Begin
  writeln('Vvedite K and N');
  readln(k,n);
  For i:=1 to k do
  For j:=1 to n do 
  begin
    write('a[',i,',',j,']=');
    readln(a[i,j]);
  end;
  for i:=1 to n do
    for j:=1 to k-1 do
      for g:=j+1 to n do
      if a[i,j] < a[i,g] then
      begin
        p:=a[i,j];
        a[i,j]:=a[j,g];
        a[i,g]:=p;
      end;
  for i:=1 to k do
    begin
      for j:=1 to n do
      write(a[i,j],' ');
      writeln;
    end;
  readln;
end.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 15.04.2011, 22:32   #8
Катя)
Пользователь
 
Аватар для Катя)
 
Регистрация: 02.03.2011
Сообщений: 16
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
\
Так делать нельзя. Что-то намудрили в begin и end...
да уже на абум ставила
сейчас проверю, спасибо
Катя) вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Random. отрицательные и положительные числа Seran4ek Общие вопросы Delphi 10 18.03.2014 22:16
положительные или отрицательные значения в конце строки olimpus Microsoft Office Excel 2 06.02.2011 10:41
В заданном массиве C(8) переставить элементы так щеб сначала шли все отрицатильние а затем положительные. basav1k Помощь студентам 2 26.05.2010 21:10
В заданном целочисленном двумерном массиве найти среднее арифметическое в каждой строке Rise Паскаль, Turbo Pascal, PascalABC.NET 3 06.01.2009 00:55
В двумерном массиве 4*5 найти сумму элементов по строке или столбцу. bkmz Помощь студентам 11 16.04.2008 11:17