![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 13.06.2009
Сообщений: 26
|
![]()
А с сортировками не поможете??????????
Мне нужны 2 самые простые программы "Обменной сортировки простой выборкой" и "Сортировки простыми вставками". просто чтоб выводил изночальный массив , отсортированный и кол-во перестановок. |
![]() |
![]() |
![]() |
#12 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]()
погоди, там ещё маленькая ошибочка была. после
Код:
Код:
По поводу сортировок, пиши что есть, если не будет получатся, подправим. Почитать про алгоритмы можешь тут
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 13.06.2009
Сообщений: 26
|
![]() ![]() |
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 13.06.2009
Сообщений: 26
|
![]()
По поводу "Обменной сортировки простой выборкой":
на форме 2 кнопки(Вывести и Сортировать), выводить выводит в 1-ый лабел а сортировать отказывается, ошибку пишет где-то в середине ![]() |
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 13.06.2009
Сообщений: 26
|
![]()
Вот полный код
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Label2: TLabel; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure vivod(var a:array of integer); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; a:array[1..10] of integer; implementation {$R *.dfm} procedure TForm1.vivod(var a:array of integer); var i:byte; begin label2.Caption:=''; for i:=0 to 9 do label2.Caption:=label2.Caption+#13+ inttostr(a[i]); showmessage(''); end; procedure TForm1.Button1Click(Sender: TObject); var i:byte; begin label1.Caption:=''; for i:=1 to 10 do label1.Caption:=label1.Caption+#13+ inttostr(a[i]); end; procedure TForm1.FormCreate(Sender: TObject); begin a[1]:=717; a[2]:=473; a[3]:=313; a[4]:=160; a[5]:=949; a[6]:=764; a[7]:=34; a[8]:=467; a[9]:=757; a[10]:=800; end; procedure TForm1.Button2Click(Sender: TObject); Var x,i,j,m,N:integer; begin for i:=1 to N-1 do //перебор элементов выходного множества // входное множество - [i:N]; выходное - [1:i-1] begin m:=i; for j:=i+1 to N do// поиск минимума во входном множестве if(a[j]<a[m]) then m:=j; //обмен 1-го элемента вх.множества с минимальным if i<>m then begin x:=a[i]; a[i]:=a[m]; a[m]:=x; end; end; end; end. |
![]() |
![]() |
![]() |
#16 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]()
Первое что бросается в глаза, то что в Button2Click не задано начальное значение N
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 13.06.2009
Сообщений: 26
|
![]()
label2.Caption:='';
for i:=1 to 10 do label2.Caption:=label2.Caption+#13+ inttostr(a[i]); end; вывожу отсортированный массив во второй лабел а он не отсартированый, а если вывожу a[m], то вообще вылетает |
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 13.06.2009
Сообщений: 26
|
![]()
procedure TForm1.Button3Click(Sender: TObject);
var i,m:integer; begin label2.Caption:=''; for i:=0 to 9 do label2.Caption:=label2.Caption+#13+ inttostr(a[i]); end; Зделала вот так вывод отсортированного массива, но все равно не то, подскажите пожалуйста где ошибка в самой сортировке(она из учебника), или в выводе? |
![]() |
![]() |
![]() |
#19 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]()
Вот всё работает. Отличается от самого первого варианта только тем, что указано начальное значение N и вызвана процедура vivod, про которую вы благополучно забыли
![]() Код:
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 13.06.2009
Сообщений: 26
|
![]()
а как еще посчитать кол-во перестановок и кол-во проходов сортировки, у меня показывает номера элементов которые переставлялись.
И как поднять вам репутацию? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите со списками в Delphi | arm777 | Помощь студентам | 2 | 09.06.2009 13:54 |
помогите с работой с односвязными списками Паскаль | neon0858 | Помощь студентам | 2 | 18.05.2009 22:00 |
Помогите пожалуйста со списками... | Horknee | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 22.12.2008 16:21 |
Работа со списками. | radist | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 07.05.2007 00:05 |