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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2009, 23:21   #11
Onza
Пользователь
 
Регистрация: 22.06.2008
Сообщений: 13
По умолчанию

2maladoy Спасибо попробую!
Onza вне форума Ответить с цитированием
Старый 24.01.2009, 23:32   #12
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

так а я тебе на чем на писал если тебе нужно через форму - так и скажи - делфи тут вовсе не при чем
capta1n вне форума Ответить с цитированием
Старый 25.01.2009, 00:10   #13
Onza
Пользователь
 
Регистрация: 22.06.2008
Сообщений: 13
По умолчанию

Ну! Да в Форме!
Onza вне форума Ответить с цитированием
Старый 25.01.2009, 00:18   #14
Onza
Пользователь
 
Регистрация: 22.06.2008
Сообщений: 13
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
const
SIZE = 10;
var
b: array[1..SIZE] of byte;
a: array[1..SIZE] of integer;
min: integer;
j: integer;
buf: integer;
i, k: integer;
begin

for i := 1 to SIZE do
b[i]:= Edit1.Text;
b[i]:=ord(a[i]);
begin
for i := 1 to SIZE - 1 do


min := i;
for j := i + 1 to SIZE do
if a[j] < a[min] then
min := j;


buf := a[i];
a[i] := a[min];
a[min] := buf;
begin
for i:=1 to size do
a[i]:=chr(b[i]);

for k := 1 to SIZE do
Label2.caption := label2.caption + ' ' + IntTostr(a[k]);
Label2.caption := label2.caption + #13;
end;
Label2.caption := label2.caption + #13 + 'MaccMB отсортирован.';
end;

end.


Вот что то с ходу с ошибками( конечно) накидал- но похоже что не так

Последний раз редактировалось Onza; 25.01.2009 в 00:33. Причина: ошибки
Onza вне форума Ответить с цитированием
Старый 25.01.2009, 09:13   #15
Onza
Пользователь
 
Регистрация: 22.06.2008
Сообщений: 13
По умолчанию подкоректировал

procedure TForm1.Button1Click(Sender: TObject);
const
SIZE = 10;
var
b: array[1..SIZE] of byte;
a: array[1..SIZE] of integer;
min: integer; { номер минимального элемента в части
массива от i до верхней границы массива }
j: integer; { номер элемента, сравниваемого с минимальным }
buf: integer; { буфер, используемый при обмене элементов массива }
i, k: integer;
begin
// ввод массива
for i := 1 to SIZE do
b[i]:= StrToInt(StringGrid1.Cells[i - 1, 0]); label2.caption := '';

b[i]:=ord(a[i]);
begin
for i := 1 to SIZE - 1 do

{ поиск минимального элемента в части массива от а[1] до a[SIZE]}
min := i;
for j := i + 1 to SIZE do
if a[j] < a[min] then
min := j;

{ поменяем местами a [min] и a[i] }
buf := a[i];
a[i] := a[min];
a[min] := buf;
begin
for i:=1 to size do
a[i]:=chr(b[i]);
{ вывод массива }
for k := 1 to SIZE do
Label2.caption := label2.caption + ' ' + IntTostr(a[k]);
Label2.caption := label2.caption + #13;
end;
Label2.caption := label2.caption + #13 + 'Maccив отсортирован.';
end;

end.

Короче ругается на строку Uncompotible types
a[i]:=chr(b[i]);
Onza вне форума Ответить с цитированием
Старый 25.01.2009, 09:33   #16
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

потому что a[i] - это integer, а chr(b[i]) - это char - числу символ не присвоишь к счастью
capta1n вне форума Ответить с цитированием
Старый 25.01.2009, 09:45   #17
Onza
Пользователь
 
Регистрация: 22.06.2008
Сообщений: 13
По умолчанию

Так я ж в этой строке вроде перевожу число в символ?
Onza вне форума Ответить с цитированием
Старый 25.01.2009, 11:21   #18
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Цитата:
b: array[1..SIZE] of byte;
a: array[1..SIZE] of integer;
Цитата:
a[i]:=chr(b[i]);
Вот взгляните
capta1n вне форума Ответить с цитированием
Старый 25.01.2009, 11:32   #19
Onza
Пользователь
 
Регистрация: 22.06.2008
Сообщений: 13
По умолчанию

Ну я значит не догоняю!!!!

а как мне перевести буквы в числовое значение -прокрутить циклы и вернуть снова буквы и вывести их на Label2
Onza вне форума Ответить с цитированием
Старый 25.01.2009, 11:38   #20
Onza
Пользователь
 
Регистрация: 22.06.2008
Сообщений: 13
По умолчанию ???

Я ввожу в Edit поле - d c a b
я же не могу ими манипулировать в циклах с массивами
поэтому что бы отсортировать их мне надо сначало их перевести в цифровое значение, а потом вернуть в буквы и вывести на форму...

Или всё в корне неверно?

Последний раз редактировалось Onza; 25.01.2009 в 11:39. Причина: редактирование
Onza вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BDE + сортировка на дельфи pnv152 Помощь студентам 4 21.01.2009 15:31
Помогите - Сортировка методом пузырька Delphi #Nii Помощь студентам 5 21.12.2008 14:53
сортировка методом двухпроходного пузырька. Net* Общие вопросы C/C++ 3 26.05.2008 07:17