Дан массив, состоящий из записей. Каждая запись содержит два поля:
- табельный номер (целое число в диапазоне от 0 до 999);
- фамилия (символьное поле длинной 20). Упорядочить массив записей по убыванию значений табельных номеров с помощью алгоритма сортировки и вывести новый массив.
спросил 18 Дек, 18 от cevka в категории школьный раздел


решение вопроса

+7
var a:array[1..1000] of  record
                    num:integer;
                    lastn:string;
                   end;
    n,i,k,k1,t:integer;
 begin
 readln(n);//кол-во табельных номеров
 for i:=1 to n do
  begin
    readln(a[i].num);readln(a[i].lastn);
  end;
  k:=n;//k:word; или k:integer;
  repeat
    k1:=0;//кол-во обменов
    for i:=2 to k do
      if a[i].num>a[i-1].num then //строгое убывание
        begin
           inc(k1);
           t:=a[i].num;
           a[i].num:=a[i-1].num;
           a[i-1].num:=t;
         end;
      k:=k-1;
   until k1=0;
   for i:=1 to n do
    write(a[i].num,' ',a[i].lastn,' ');
end.
ответил 18 Дек, 18 от Olenka

Связанных вопросов не найдено

Обучайтесь и развивайтесь всесторонне вместе с нами, делитесь знаниями и накопленным опытом, расширяйте границы знаний и ваших умений.

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах. 

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте. 

Как быстро и эффективно исправить почерк?  Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.