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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 16:50   #11
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

замените Edit1.text на Memo1.Lines[0]

Код:
procedure TForm1.Button1Click(Sender: TObject);
procedure Translate(b:integer);

Procedure QuickSort(Left,Right:Integer;var X:array of integer ); {Left - e"a*a^a`y" a~?a`i'e`o"a` i`a`n~n~e`a^a`}
var
  i,j,y,w:integer;
Begin
  i:=Left;
  j:=Right;
  y:=x[(Left+Right) div 2];
  Repeat
    While x[i]>y do Inc(I);
    While y>x[J] do Dec(J);
    If I<=J then begin
      w:=x[i];
      x[i]:=x[J];
      x[J]:=w;
      Inc(I);
      Dec(J);
    end;
  Until I>J;
  If Left<J then QuickSort(Left,J,X);
  If I<Right then QuickSort(I,Right,X);
End;

var s,sub:string;
    a:array[1..100] of integer;
    i,j:integer;

begin
s:=Memo1.Lines[b];//переписываем строку в s
i:=0;j:=0;
while i<=length(s) do // пока не просмотрим всю строку
 begin
  sub:='';
  while (s[i]<>' ') and (i<=length(s)) do // пока не встретим пробел или просмотрим всю строку
   begin
     if s[i] in ['0'..'9'] then sub:=sub+s[i]; // считываем очередное число
     inc(i);
   end;
   inc(j);// изменяем индекс +1
   a[j]:=StrToInt(sub); // переводим его в integer и заносим в массив
   inc(i);
 end;
 QuickSort(0,j-1,a);// сортируем
 Memo1.Lines[b]:='';
for i:=1 to j do
 Memo1.Lines[b]:=Memo1.Lines[b]+IntTostr(a[i])+' ';//записываем в мемо
end;

var l:integer;

begin
 for l:=0 to Memo1.Lines.Count-1 do
  Translate(l);
end;
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 06.05.2009 в 17:48.
alex_fcsm вне форума Ответить с цитированием
Старый 06.05.2009, 17:09   #12
Алексей_xXx
Пользователь
 
Регистрация: 29.04.2009
Сообщений: 54
По умолчанию

Круто! ещё раз спасибо , сам бы не додумался до этого!
Алексей_xXx вне форума Ответить с цитированием
Старый 06.05.2009, 17:15   #13
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Киньте на форму 2button, memo, opendialog

Код:
procedure TForm1.Button1Click(Sender: TObject);
procedure Translate(b:integer);

Procedure QuickSort(Left,Right:Integer;var X:array of integer ); {Left - e"a*a^a`y" a~?a`i'e`o"a` i`a`n~n~e`a^a`}
var
  i,j,y,w:integer;
Begin
  i:=Left;
  j:=Right;
  y:=x[(Left+Right) div 2];
  Repeat
    While x[i]>y do Inc(I);
    While y>x[J] do Dec(J);
    If I<=J then begin
      w:=x[i];
      x[i]:=x[J];
      x[J]:=w;
      Inc(I);
      Dec(J);
    end;
  Until I>J;
  If Left<J then QuickSort(Left,J,X);
  If I<Right then QuickSort(I,Right,X);
End;

var s,sub:string;
    a:array[1..100] of integer;
    i,j:integer;

begin
s:=Memo1.Lines[b];
i:=0;j:=0;
while i<=length(s) do
 begin
  sub:='';
  while (s[i]<>' ') and (i<=length(s)) do
   begin
     if s[i] in ['0'..'9'] then sub:=sub+s[i];
     inc(i);
   end;
   inc(j);
   a[j]:=StrToInt(sub);
   inc(i);
 end;
 QuickSort(0,j-1,a);
 Memo1.Lines[b]:='';
for i:=1 to j do
 Memo1.Lines[b]:=Memo1.Lines[b]+IntTostr(a[i])+' ';
end;

var l:integer;

begin
 for l:=0 to Memo1.Lines.Count-1 do
  Translate(l);
end;


procedure TForm1.Button2Click(Sender: TObject);
var f:textfile;
    s:string;
begin
Memo1.Clear;
OPenDialog1.Execute;
assignfile(f,Opendialog1.FileName);
reset(f);
while not(eof(f)) do
 begin
  readln(f,s);
  Memo1.Lines.Add(s);
 end;
end;

end.
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 06.05.2009 в 17:21.
alex_fcsm вне форума Ответить с цитированием
Старый 06.05.2009, 17:26   #14
Алексей_xXx
Пользователь
 
Регистрация: 29.04.2009
Сообщений: 54
По умолчанию

Translate что процедура делает понять не могу.
Алексей_xXx вне форума Ответить с цитированием
Старый 06.05.2009, 17:42   #15
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от Алексей_xXx Посмотреть сообщение
Translate что процедура делает понять не могу.
Берет строку из Мемо и сортирует числа в ней

Добавил несколько комментариев(пост №11)
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 06.05.2009 в 17:49.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста, как сделать, чтобы в Edit можно было ввести цифры от 0 до 12. ciev Общие вопросы Delphi 6 14.05.2016 17:45
Римские цифры Sergeevich Помощь студентам 2 26.05.2008 18:21
Найти ненулевые цифры kommunist Помощь студентам 2 25.11.2007 11:16
Перевёрнутые цифры BETONOMESHALKA Общие вопросы Delphi 2 04.11.2007 15:22
Как сделать так, чтобы в компонент edit вводились цифры и аналогично с буквами? Askat Общие вопросы Delphi 6 22.08.2007 21:00