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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2012, 14:44
gamezeldol gamezeldol вне форума
Прохожий
 
Регистрация: 21.02.2012
Сообщения: 16
Репутация: 10
По умолчанию Программа по сортировке чисел

Сама программа находится во вложенном файле.
Button1 - Произвольный набор чисел, Button2 - Сортировка 2ого столбца по убыванию. Вопрос в том чтобы сортировка начиналась со второй строки. Чтобы 1ая строка вообще не задействовалась в этой операции. Т.к. cell[1,0] должна быть типа String. Спасибо за помощь
Код:
unit Unit1;

 interface

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

 type
 TForm1 = class(TForm)
 Button1: TButton;
 Button2: TButton;
 StringGrid1: TStringGrid;
 procedure FormCreate(Sender: TObject);
 procedure Button2Click(Sender: TObject);
 procedure Button1Click(Sender: TObject);
 private
 { Private declarations }
 public
 { Public declarations }
 end;

 type
 a=array [1..5] of integer;
 m=array [1..5] of a;
 const
 n=5;

 var
 Form1: TForm1;
 mas:m;

 implementation

 {$R *.dfm}

 procedure refreshtable;
 var
 i,j:byte;
 begin
 for I := 1 to n do
 for j := 1 to n do
 form1.StringGrid1.Cells[j-1,i-1]:=inttostr(mas[i,j]); // тут укажи свою форму
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 var
 i,j:byte;
 s:integer;
 begin
 for I := 1 to n do begin
 s:=0;
 for j := 1 to n do begin
 mas[i,j]:=Random(100);
 s:=s+mas[i,j];
 end;
 StringGrid1.Cells[5,i-1]:=inttostr(s);
 end;
 refreshtable;
 end;


 function mySort(List: TStringList; first, second: Integer): Integer; // это функция сортировки
 function f(index: integer): integer;

 begin result := StrToInt(List.Strings[index]) end;

 begin

 result := f(second) - f(first)
 end;

 procedure TForm1.Button2Click(Sender: TObject);

 var
 ts: TStringList;
 i,j: integer;
 begin
 ts := TStringList.Create;

 try
 with StringGrid1 do
 begin
 ts.Assign(cols[1]); // Получаем элементы очередной строки
 ts.CustomSort(mySort); // сортируем их как числа по убыванию
 cols[1].Assign(ts); // возвращаем назад в Грид
 end;
 finally
 ts.Free;
 end;
 end;
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 Randomize;
 end;
 end.
Админ: Пользуемся тегами для оформления кода, иначе последуют санкции!
Вложения
Тип файла: rar сортировка.rar (190.3 Кбайт, 17 просмотров)

Последний раз редактировалось Admin, 07.05.2012 в 15:20.
Ответить с цитированием
  #2  
Старый 07.05.2012, 21:17
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Глядишь на такой код, и желание помогать как-то не возникает. Его ведь первоначально в читабельный вид привести нужно, а неохота.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 07.05.2012, 21:29
gamezeldol gamezeldol вне форума
Прохожий
 
Регистрация: 21.02.2012
Сообщения: 16
Репутация: 10
Радость

Новичок) уж чему в универе научили..
Ответить с цитированием
  #4  
Старый 07.05.2012, 21:40
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от gamezeldol
Новичок) уж чему в универе научили..
Причём тут это? Должна быть элементарная аккуратность.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter