Помощь - Поиск - Пользователи - Календарь
Полная версия: Упорядочить строковый массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
kvadrat
Условие:
Нажмите для просмотра прикрепленного файла

program TOV_cena;
var p:array [1..8] of string[50];s:array[1..8] of integer;
sort:boolean;i,n1,f,h:integer;
st:string[50];
begin
writeln('‚ўҐ¤ЁвҐ н«Ґ¬Ґ­вл ¬ бЁў ');
for i:=1 to 8 do
readln(p[i]);
for i:=1 to 8 do
begin {n1-Ї®§ЁжЁп 1-®Ј® Їа®ЎҐ« ў бва®ЄҐ}
n1:=pos(' ',p[i]);
st:=copy(p[i],n1+1,length(p[i])-n1);
{f-業 в®ў а }
val(copy(p[i],n1+1,length(p[i])),f,h);
end;
sort:=false;
while not sort do
begin sort:=true;
for i:=1 to 7 do
if p[i]>p[i+1] then
begin
st:=p[i]; p[i]:=p[i+1]; p[i+1]:=st;
h:=s[i]; s[i]:=s[i+1]; s[i+1]:=h;
sort:=false
end;
end;
for i:=1 to 8 do writeln(p[i]);
end.


Тысячу спасиб и + в репу спасителю smile.gif
volvo
Я ж на Винграде решал что-то похожее... Это был не ты?

program TOV_cena;
var
p: array [1..8] of string[50];

i, j, err: integer;
first, second: real;
st:string[50];

begin
writeln('strings:');
for i:=1 to 8 do readln(p[i]);

for i := 1 to 8 do
for j := 8 downto i + 1 do begin
val(copy(p[j-1], pos('_', p[j-1]) + 1, 255), first, err);
val(copy(p[j ], pos('_', p[j ]) + 1, 255), second, err);
if first > second then begin
st := p[j-1]; p[j-1] := p[j]; p[j] := st;
end;
end;

for i := 1 to 8 do
writeln(p[i]);
end.


kvadrat
Цитата
Я ж на Винграде решал что-то похожее... Это был не ты?

У нас у 15 человек в группе что то похожее в заданиях есть smile.gif так что всякое может быть good.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.