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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2012, 18:49   #1
fratriecz
Пользователь
 
Регистрация: 13.10.2012
Сообщений: 18
По умолчанию переставление строк матриц

как переставить строки в порядке увеличения суммы элементов в строке,помогите пж))
Код:
program matrix;
 uses crt;
 var i,j,u,n,m,x:integer; a:array [1..30,1..30] of byte;
 begin
 randomize;
 clrscr;
 read(n,m);
 For i:=1 to n do begin
  For j:=1 to m do begin
     a[i,j]:=random(10); write(' ',a[i,j]);end;
  writeln;end;
 For U:=1 to m do 
 For i :=2 to n do
 if a[i+n,m]>a[i+n,m] then begin
 For j:=1 to m do   begin 
 x:=a[i-1,j];
 a[i+n,j]:=a[i,j];
 a[i,j]:=x;
    end;
    end;

     writeln;

 For i:=1 to n do begin
  For j:=1 to m do
      write(' ',a[i,j]); writeln;
 end;end.

Последний раз редактировалось Stilet; 15.11.2012 в 19:33.
fratriecz вне форума Ответить с цитированием
Старый 15.11.2012, 20:21   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
if a[i+n,m]>a[i+n,m] then
интересное условие Always true.

Код:
program matrix;


 var sums:array [1..30] of real;
     a:array [1..30,1..30] of byte;
     m,n:integer;
     i,j:integer;
     
 procedure Swap(x,y: integer);
 var k: integer;
 begin
   For k:=1 to n do begin
     a[x,k]:=a[x,k]+a[y,k];
     a[y,k]:=a[x,k]-a[y,k];
     a[x,k]:=a[x,k]-a[y,k];
   end;
 end;


 begin
 randomize;
 read(m,n);
 For i:=1 to m do begin
  sums[i]:=0;
  For j:=1 to n do begin
     a[i,j]:=random(10);
     write(' ',a[i,j]);
     sums[i]:=sums[i]+a[i,j];
  end;
  writeln;
 end;

 For i:=1 to m-1 do
  For j:=1 to m-i do
   if sums[j]>sums[j+1] then swap(j,j+1);
writeln;

 For i:=1 to m do begin
  For j:=1 to n do
      write(' ',a[i,j]);
  writeln;
 end;
end.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Stilet; 15.11.2012 в 21:06.
Sciv вне форума Ответить с цитированием
Старый 15.11.2012, 20:46   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Цитата:
if a[i+n,m]>a[i+n,m] then
интересное условие Always true.
Дак нет же. Всегда не false
Poma][a вне форума Ответить с цитированием
Старый 15.11.2012, 21:19   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Ромаха, мы оба ошибаемся - всегда false, не может быть число больше самого себя
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.11.2012, 21:23   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Ромаха, мы оба ошибаемся - всегда false, не может быть число больше самого себя
Ага. Я именно это и хотел написать, но откуда-то вылезло "не", может в компутере бабайка завелся? прям мистика
Poma][a вне форума Ответить с цитированием
Старый 15.11.2012, 21:38   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
может в компутере бабайка завелся?
Антибабайкой его, антибабайкой!
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести последовательность строк. Подсчитать количество совпадающих строк. на языке SHELL lj23lj Фриланс 1 30.03.2012 16:41
Для любых 2 матриц (вводятся) надо найти объединение и пересечение этих матриц (Pascal) novicok Помощь студентам 6 15.09.2011 09:51
Обработка Матриц(Упорядочивание Элементов,Вывод На Экран Матриц При Условии...) timepoka Помощь студентам 8 01.07.2011 13:20