09.12.2019, 03:01 [+3 UTC]
в нашей команде: 4 047 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.78 (18.11.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
29.11.2019, 17:59

Последний вопрос:
08.12.2019, 23:49
Всего: 151207

Последний ответ:
08.12.2019, 18:03
Всего: 259544

Последняя рассылка:
08.12.2019, 17:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
01.12.2012, 09:27 »
Ляшенко Сергей Владимирович
оромное спасибо smile [вопрос № 186873, ответ № 271763]
21.06.2010, 17:35 »
Igor Yu. Pilyugin
Благодарю, прекрасный ответ. Думаю, что мне поможет. Как только найду время поработать с монитором. [вопрос № 179168, ответ № 262206]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 690
puporev
Статус: Профессионал
Рейтинг: 480
Gluck
Статус: 9-й класс
Рейтинг: 476

Перейти к консультации №:
 

Консультация онлайн # 168362
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: jzemskova
Отправлена: 27.05.2009, 01:17
Поступило ответов: 1

необходимо создать объект, в котором содержится 70 элементов. все числа - целые, проеизвести сортировку по возрастанию

Состояние: Консультация закрыта

Здравствуйте, jzemskova.

Что то вроде этого:
Массив из 70 элементов, все целые числа.
Сначала заполняем его Random'om
Затем проходим по нему сортировкой вставкой

Приложение:


Консультировал: Александр Романов [Alexo] (Студент)
Дата отправки: 27.05.2009, 02:02

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 168362
неизвестный

# 1

= общий = | 27.05.2009, 02:23

Спасибо, но как это сделать через создаваемый объект?

Александр Романов [Alexo]
Студент

ID: 15716

# 2

= общий = | 27.05.2009, 02:38 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

А как вы хотите хранить данные в объекте?
Если там тоже планируете использовать массив, то обьявите массивом переменную в объекте, и в Create() заполняйте его, а процедуру сортировки можно вынести в отдульную процедуру
Выглядеть, примерно, это будет так:

SortArray = class
fArray : array[0..69] of Cardinal;
public;
constructor Create; override;
procedure Sort;
end;

constructor Create;
var
i:intger
begin
for i := 0 to 69 do
fArray[i] := Random(1000000);
end;

procedure Sort;
var
i, j, min, t : Cardinal;

begin
for i := 0 to 68 do begin
min := i;
for j := i + 1 to 69 do
if fArray[min] > fArray[j] then
min := j;

t := fArray[i];
fArray[i] := fArray[min];
fArray[min] := t;
end;
end;

неизвестный

# 3

= общий = | 27.05.2009, 19:33

А как этот код


begin
for i := 0 to MaxItems do
a[i] := Random(1000000);

for i := 0 to MaxItems - 1 do begin
min := i;
for j := i + 1 to MaxItems do
if a[min] > a[j] then
min := j;

t := a[i];
a[i] := a[min];
a[min] := t;
end;
end;

будет выглядеть не в консольном приложении, а в окне?(с использованием TList)

Александр Романов [Alexo]
Студент

ID: 15716

# 4

= общий = | 27.05.2009, 19:57 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Вместо а : array of cardinal; - List1 : TList;

вместо a[i] - List1[i]

+ Создание и уничтожение обьекта TList

неизвестный

# 5

= общий = | 28.05.2009, 11:39

как переделать код под мою задачу? Какие кнопки и свойства надо менять в Form1?

необходимо создать объект, в котором содержится 70 элементов. все числа - целые, проеизвести сортировку по возрастанию


КОД

unit Unit1;

interface

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

type
TCustomer = class
private
CustomerName : String;
CustomerNumber : Integer;

public
property Name : String
read CustomerName;
property Number : Integer
read CustomerNumber;

constructor Create(const CustomerName : String;
const CustomerNumber : Integer);
end;

TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);

private
myList : TList;

procedure ShowListContents;

public

end;

var
Form1: TForm1;

implementation

{$R *.dfm}

constructor TCustomer.Create(const CustomerName : String;
const CustomerNumber : Integer);
begin
self.CustomerName := CustomerName;
self.CustomerNumber := CustomerNumber;
end;

function compareByName(Item1 : Pointer; Item2 : Pointer) : Integer;
var
customer1, customer2 : TCustomer;
begin
customer1 := TCustomer(Item1);
customer2 := TCustomer(Item2);

// Теперь сравнение строк
if customer1.Name > customer2.Name
then Result := 1
else if customer1.Name = customer2.Name
then Result := 0
else Result := -1;
end;

procedure TForm1.ShowListContents;
var
i : Integer;
begin
for i := 0 to myList.Count-1 do
begin
ShowMessage(TCustomer(myList[i]).Name+' is customer number '+
IntToStr(TCustomer(myList[i]).Number));
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
customer : TCustomer;

begin
myList := TList.Create;

customer := TCustomer.Create('Neil Moffatt', 123);
myList.Add(customer);
customer := TCustomer.Create('Bill Gates', 64);
myList.Add(customer);

myList.Add(TCustomer.Create('Henry Cooper', 999));
myList.Add(TCustomer.Create('Alan Sugar', 2));

ShowListContents;

myList.Sort(compareByName);
ShowListContents;

myList.Insert(2, TCustomer.Create('Added as item 3', 33));
myList.Delete(4);

ShowListContents;
end;
end.

неизвестный

# 6

= общий = | 28.05.2009, 13:29

По нажатию кнопки1 список должен сортироваться по возрастанию

Александр Романов [Alexo]
Студент

ID: 15716

# 7

= общий = | 28.05.2009, 16:01 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Добавь метод Sort по аналогии

неизвестный

# 8

= общий = | 28.05.2009, 16:21

CustomerName надо удалить
и все что с ним связано
и как добавить метод Sort

Александр Романов [Alexo]
Студент

ID: 15716

# 9

= общий = | 28.05.2009, 17:03 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

public
...
Procedure Sort
....
end;

procedure TCustomer.Sort;
begin
for i := 0 to Length(myList) - 2 do
begin
min := i;
for j := i + 1 to Length(myList) - 1 do
if myList[min] > myList[j] then
min := j;

t := myList[i];
myList[i] := myList[min];
myList[min] := t;
end;
end;


Примерно так

неизвестный

# 10

= общий = | 28.05.2009, 21:16

CustomerName надо удалить

какие кнопки нужно разместить на форме1
какие свойства формы необходимо поменять

как вставить sort в имеющийся код?

Александр Романов [Alexo]
Студент

ID: 15716

# 11

= общий = | 28.05.2009, 23:42 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Что непонятно в коде выше?
На форме судя по вашему коду, только кнопка и нужна.
Что мешает просто удалить CustomerName?

неизвестный

# 12

= общий = | 29.05.2009, 14:02

Я уже ничего не понимаю!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Как бедет выглядеть сортировка 70 чисел в Tlist?

неизвестный

# 13

= общий = | 29.05.2009, 14:31

+ Создание и уничтожение обьекта TList
как это сделать в моем примере
Как будет выглядеть сортировка 70 чисел в Tlist?

неизвестный

# 14

= общий = | 29.05.2009, 16:15

горю

неизвестный

# 15

= общий = | 29.05.2009, 18:12

Пожалуйста, напишите весь код
Я запуталась, а работу завтра сдавать

Александр Романов [Alexo]
Студент

ID: 15716

# 16

= общий = | 29.05.2009, 21:56 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

К утру если время найду напишу полный код.

Как то так
http://narod.ru/disk/9284887000/168362.rar.html

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15365 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.78 от 18.11.2019
Версия JS: 1.34 | Версия CSS: 3.35