Помощь - Поиск - Пользователи - Календарь
Полная версия: Упорядочить строковый массив
Форум «Всё о Паскале» > 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-Ї(r)§ЁжЁп 1-(r)Ј(r) Їа(r)ЎҐ«  ў бва(r)ЄҐ}
   n1:=pos(' ',p[i]);
   st:=copy(p[i],n1+1,length(p[i])-n1);
   {f-業  в(r)ў а }
   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
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.