Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.07.2009, 17:57
Snake1991 Snake1991 вне форума
Прохожий
 
Регистрация: 01.07.2009
Сообщения: 1
Репутация: 10
Лампочка Помогите пожалуйста (соритровка массива))

Помогите кто нить, если сможете!
Задача:
отсортировать произвольный массив(двумерный) методом пузырька по возрастанию!!! пробовал много раз делать разными способами!!! не получается!!!
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ExtCtrls, Grids, StdCtrls, jpeg;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Button2: TButton;
    Button3: TButton;
    BitBtn2: TBitBtn;
    Label4: TLabel;
    Label5: TLabel;
    Button4: TButton;
    Label6: TLabel;
    Label7: TLabel;
    Image1: TImage;
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  type
  ms1=array[1..50,1..50] of real;

var
  Form1: TForm1;
  m,n:integer;
  a,b:ms1;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit1.SetFocus;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
 n:=StrToInt(Edit1.Text);
 m:=StrToInt(Edit2.Text);
 StringGrid1.ColCount:=n+1;                           //задание кол-ва столбцов и строк
 StringGrid1.RowCount:=m+1;
 StringGrid2.ColCount:=n+1;
 StringGrid2.RowCount:=m+1;

 for i:=1 to n do
 begin
 for j:=1 to m do
 begin
 StringGrid1.Cells[j,i]:='';                         //очистка таблиц
 StringGrid2.Cells[j,i]:='';
 StringGrid1.Cells[0,i]:=IntToStr(i);
 StringGrid1.Cells[j,0]:=IntToStr(j);
 StringGrid2.Cells[0,i]:=IntToStr(i);
 StringGrid2.Cells[j,0]:=IntToStr(j);
 end;
 end;
 StringGrid1.SetFocus;
 Label6.Caption:=('Размерность массива ' +IntToStr(m) +'*' +IntToStr(n))  //вывод в метку заданной размерности
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
begin

       for i:=1 to n do
       begin
    for j:=1 to m do
    a[i,j]:=StrToFloat(StringGrid1.Cells[i,j]);            //формирование матрицы A
end;
end;

procedure TForm1.Button4Click(Sender: TObject);                     //приведение формы в начальное состояние
var i,j:integer;
begin
  for i:=1 to n do
  for j:=1 to m do
  begin
  StringGrid1.Cells[i,j]:='';
  StringGrid2.Cells[i,j]:='';
  edit1.Text:='';
  edit2.Text:='';
  end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var i,j:integer;
amin,buf:real;
begin
  amin:=a[1,1];                                          //изначально считаем минимальным элемент a[1,1]
    for i:=1 to n do
    begin
    for j:=1 to m do
    begin
    a[i,j]:=StrToFloat(StringGrid1.Cells[i,j]);
    if a[i,j]>a[i,j+1] then
     begin                           //вычисляем минимальный элемент
    buf:=a[i,j];
   a[i,j]:=a[i,j+1];
    a[i,j+1]:=buf;                                            //производим обмен методом пузырька
    StringGrid2.Cells[i,j]:=FloatToStr(a[i,j]);          //вывод матрицы B
    end;
    end;
    end;
    end;

end.

тут полностью(с формой) - http://dump.ru/file/2995945
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter