Структуры и алгоритмы обработки данных


         

Пример сортировки по убыванию методом


 k_sr:=0;k_p:=0;
randomize;
{Данный массив, содержащий имена студентов}
mas[1].name:='Иван';mas[2].name:='Петр';mas[3].name:='Сидор';
mas[4].name:='Василий';mas[5].name:='Денис';mas[6].name:='Геннадий';
mas[7].name:='Борис';mas[8].name:='Марат';mas[9].name:='Казбек';
mas[10].name:='Алексей';mas[11].name:='Владимир';mas[12].name:='Сидор';
mas[13].name:='Виталий';mas[14].name:='Александр';mas[15].name:='Михаил';
mas[16].name:='Евгений';mas[17].name:='Артур';mas[18].name:='Руслан';
mas[19].name:='Мурат';mas[20].name:='Аркадий';
{задание количества баллов у студента случайным образом}
for i:=1 to 20 do
 mas[i].num:=random(19)+1;
{вывод пояснений}
getshadow;
textbackground(lightgray);
textcolor(red);gotoxy(15,1);write(' Пример сортировки по убыванию методом прямого включения');
textbackground(lightgray);
textcolor(red); gotoxy(3,25);  write('Esc - главное меню');
textcolor(red); gotoxy(65,25); write('F1 - задание');
box(58,0,80,25,1,15,double,'Статистика');
textcolor(lightmagenta);
gotoxy(59,3); write(' Сортировка  методом ');
gotoxy(61,4); write('прямого включения.');
textcolor(white); gotoxy(59,5); write('---------------------');
box(31,0,57,25,1,15,double,'После сортировки');
textcolor(lightmagenta); gotoxy(32,3); write(' N   Имя           балл');
box(1,0,30,25,1,15,double,'До сортировки');
textcolor(lightmagenta); gotoxy(3,3);  write('N   Имя              балл');
{вывод на экран исходного массива}
for i:=1 to 20 do
 begin
textcolor(lightcyan); gotoxy(3,i+3);  write(i);
textcolor(yellow);    gotoxy(7,i+3);  write(mas[i].name);
textcolor(lightred);  gotoxy(25,i+3); writeln(mas[i].num);
 end;
{сортировка по убыванию количества баллов}
for i := 2 to 20 do
  begin
    x := mas[i];
    for j := i - 1 downto 1 do
     begin
  {k_sr - счетчик количества сравнений}
    k_sr:= k_sr+1;
          if x.num > mas[j].num then
                    begin
  {k_p - счетчик количества перемещений}
                    k_p:=k_p+1;
  {обмена содержимым элементов массива mas[j+1] и mas[j]

Содержание  Назад  Вперед