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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2015, 18:09   #1
Василий56
Новичок
Джуниор
 
Регистрация: 09.06.2015
Сообщений: 4
По умолчанию Lazarus: задачи:Дана матрица размером N строк и M столбцов. Упорядочить ее строки по возрастанию суммы их элементов

Доброго времени суток, помогите пожалуйста с лабой,
нужно доделать вот это:
работа в Lazarus
условия задачи:Дана матрица размером N строк и M столбцов. Упорядочить ее строки по
возрастанию суммы их элементов.
Код:
unit ura;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
Grids;

type

{ TForm1 }

TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
const
Nmax=10;

Type
mat=array[1..Nmax,1..Nmax] of extended;
var
Form1: TForm1;
a: mat;
n,m,i,j,p,k,b,u:integer;
sum,t:extended;


implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
n:=3;
m:=3;
Edit1.Text:=IntToStr(n);
Edit2.Text:=IntToStr(m);
StringGrid1.RowCount:=n+1;
StringGrid1.ColCount:=n+1;
StringGrid1.Cells[0,0]:='A';
for i:=1 to n do begin
StringGrid1.Cells[0,i]:='i='+IntToStr(i);
StringGrid1.Cells[i,0]:='j='+IntToStr(i);
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
form1.Close;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
m:=StrToInt(Edit2.Text);
StringGrid1.ColCount:=m+1;

for i:=1 to m do
begin
StringGrid1.Cells[0,i]:='i='+IntToStr(i);
StringGrid1.Cells[i,0]:='j='+IntToStr(i);
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
n:=StrToInt(Edit1.Text);
StringGrid1.RowCount:=n+1;
for i:=1 to n do
begin
StringGrid1.Cells[0,i]:='i='+IntToStr(i);
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
n:=StrToInt(Edit1.Text);
m:=StrToInt(Edit2.Text);
for i:=1 to n do
for j:=1 to m do
a[i,j]:=StrToInt(StringGrid1.Cells[j,i]);
for i:=i to n do
begin
sum:=0;
for j:=1 to m do
sum:=sum+ a[i,j];
a[i,m+1]:=sum;
end;


for i:=1 to n-1 do
for p:= 1 to n-1 do
if
a[p,m+1]>a[p+1,m+1]
then
for j:=1 to n+1 do
begin
t:=a[p,j];
a[p,j]:=a[p+1,j];
a[p+1,j]:=t;
end;
for i:=1 to n do
for j:=1 to m do
StringGrid1.Cells[j,i]:=FloatToStr(a[i,j]);


end;
end.

Последний раз редактировалось Вадим Мошев; 10.06.2015 в 09:10.
Василий56 вне форума Ответить с цитированием
Старый 09.06.2015, 18:33   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

И в чем проблема?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 09.06.2015, 18:40   #3
Василий56
Новичок
Джуниор
 
Регистрация: 09.06.2015
Сообщений: 4
По умолчанию

Не выводит результат
Василий56 вне форума Ответить с цитированием
Старый 10.06.2015, 08:34   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Не выводит результат
А куда нужно результат выводить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.06.2015, 09:52   #5
Василий56
Новичок
Джуниор
 
Регистрация: 09.06.2015
Сообщений: 4
По умолчанию

Либо создать stringGrid2. И в него или же в этот stringGrid в крайние правые ячейке
Василий56 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лабораторная с массивами Василий56 Lazarus, Free Pascal, CodeTyphon 1 10.06.2015 09:11
Лабораторная masterlightsmoke Паскаль, Turbo Pascal, PascalABC.NET 9 15.11.2012 23:25
c# лабораторная nikitaivanov Фриланс 1 26.05.2012 15:05
C# лабораторная Tase4ka Помощь студентам 1 09.12.2010 03:51
Лабораторная zeta127 Помощь студентам 0 21.06.2009 20:31