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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2012, 21:17   #1
Dashylia
 
Регистрация: 15.03.2012
Сообщений: 4
По умолчанию Строки в Delphi: строка символов, состоящая из десятичных цифр, разделенных пробелами. Вывести числа в возрастающем порядке

НЕ могу понять как это сделать((( Если не трудно помогите

Дано строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами. Вывести на экран числа этой строки в порядке возрастания их значений.
Dashylia вне форума Ответить с цитированием
Старый 15.03.2012, 22:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Малость грубовато но можно:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses    classes,
  SysUtils;
var s:TStringList;i:integer;  l:TList;
 function c(Item1, Item2: Pointer): Integer;
 begin
    if integer(Item1)>integer(Item2) then Result:=1 else
    if integer(Item1)<integer(Item2) then Result:=-1 else
    Result:=0;
 end;

begin
 s:=TStringList.Create;
 s.DelimitedText:='1 4 7 3 56 78 32';
 l:=TList.Create;
 for i:=0 to s.Count-1 do l.Add(Pointer(StrToIntDef(s[i],0)));
 l.Sort(c);
 for i:=0 to l.Count-1 do write(integer(l[i]):10);
 writeln;
 readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.03.2012, 14:03   #3
Dashylia
 
Регистрация: 15.03.2012
Сообщений: 4
По умолчанию А вот так будет правильно???

Код:
procedure TForm2.FormActivate(Sender: TObject);
begin
  ComboBox1.SetFocus;
end;

procedure TForm2.BitBtn1Click(Sender: TObject);
begin
 Form2.Close;
end;

procedure TForm2.ComboBox1Click(Sender: TObject);
  Var
A: array[1..100] of integer;
S,t: string;
  i,k:integer;
  x,p,n,nst:integer;
f:boolean;
begin
s:=' '+s;
n:=1;
For i:=2 to length(s)-1 do
begin
if (s[i]<>' ') and (s[i+1]<>' ') and (s[i-1]=' ')  then begin A[n]:=strToInt(s[i]);
n:=n+1;
end;
end;
repeat
F:=false;
for i:=1 to n do
if a[i]>a[i+1] then begin
x:=a[i];
a[i]:=a[i+1];
a[i+1]:=x;
f:=true;
end;
until f=false;
   t:=' '+t;
 for i:=1 to n do
 begin
 t:=IntToStr(A[i])+t;
 t:=' '+t;
 end;
  Label2.Caption := IntToStr(A[i]);
end;
end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.03.2012 в 15:19.
Dashylia вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
напечатать в возрастающем порядке все цифры, не входящие в запись данного натурального числа Aimet Паскаль, Turbo Pascal, PascalABC.NET 1 18.06.2011 19:57
Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. just_dake Помощь студентам 3 29.05.2011 13:35
Строка из слов, разделённых пробелами. Найти среднее количество символов в словах четной длины (Паскаль) marystupidyeah Помощь студентам 5 24.05.2011 16:55
дана строка символов ,разделённые пробелами(одним или несколькими) и не содержащие пробелов внутри себя,б Aktor1992 Паскаль, Turbo Pascal, PascalABC.NET 1 12.04.2011 22:19
Дан символьный файл f. Группы символов, разделенных пробелами и не содержащих пробелов внутри себя, назыв J__S(Юляшка) Общие вопросы C/C++ 3 13.04.2010 23:30