В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия

1.
2.
3.
4.
все файли по порядку


1. 2. 3. 4. все файли по порядку
1. 2. 3. 4. все файли по порядку
1. 2. 3. 4. все файли по порядку
1. 2. 3. 4. все файли по порядку

Показать ответ
Ответ:
seluchka
seluchka
23.01.2023 19:49

PascalABC.NET 3.5.1

program D_contest;

type

 TStat = record

   nick: string;

   wins, battles: integer;

   proc: real;

 end;

var

 N, i, num: integer;

 str: array of string;

 stat: array of TStat;

 nick: string;

function found(ni_ck: string): integer;

begin

 found := -1;

 for var e := 0 to Length(stat) - 1 do

 begin

   if stat[e].nick = ni_ck then  

   begin

     found := e;

     break;

   end;

 end;

end;

var

 v_pts, e_pts, l_e: integer;  

 F: textfile;

 k: real;

 s: string;

begin

 Assign(F, 'input.txt');

 Reset(F);

 readln(F, n);

 SetLength(str, n);

 SetLength(stat, 1);

 for i := 0 to n - 1 do

 begin

   readln(F, str[i]);    

   //get enemy_nick

   nick := Copy(str[i], 1, Pos(' ', str[i]) - 1);    

   Delete(str[i], 1, Pos(' ', str[i]));

   

   if (stat[0].nick <> '') then

   begin

     num := found(nick);

     if (num = -1) then //not found

     begin

       l_e := Length(stat);

       SetLength(stat, l_e + 1);

       num := l_e;

       stat[num].nick := nick;

     end;

   end

     else

   begin

     stat[0].nick := nick;

   end;

   

   stat[num].battles += 1;

   

     //get Vania_points

   v_pts := StrToInt(Copy(str[i], 1, Pos(' ', str[i])));    

   Delete(str[i], 1, Pos(' ', str[i]));

   

     //get enemy_points

   e_pts := StrToInt(str[i]);

   

   if v_pts > e_pts Then

     stat[num].wins += 1;

 end;

 Close(F);        

 

 //вычисляю процент побед

 for i := 0 to Length(stat) - 1 do

 begin

   stat[i].proc := stat[i].wins / stat[i].battles;  

 end;

 

 //сортировка по процентам

 for i := 0 to Length(stat) - 2 do  

 begin

   for var j := 0 to Length(stat) - i - 2 do  

   begin

     if stat[j].proc > stat[j + 1].proc then  

     begin

       k := stat[j].proc;

       stat[j].proc := stat[j + 1].proc;

       stat[j + 1].proc := k;

       

       s := stat[j].nick;

       stat[j].nick := stat[j + 1].nick;

       stat[j + 1].nick := s;

     end;

   end;

 end;

 

 //сортировка по алфавиту

 for i := 0 to Length(stat) - 2 do  

 begin

   for var j := 0 to Length(stat) - i - 2 do  

   begin

     if (stat[j].proc = stat[j + 1].proc) and (stat[j].nick > stat[j + 1].nick) then  

     begin

       k := stat[j].proc;

       stat[j].proc := stat[j + 1].proc;

       stat[j + 1].proc := k;

       

       s := stat[j].nick;

       stat[j].nick := stat[j + 1].nick;

       stat[j + 1].nick := s;

     end;

   end;

 end;

 

 writeln(Length(stat));

 for i := 0 to Length(stat) - 1 do

 begin

   write(stat[i].nick, ' ');

   writeln(stat[i].proc * 100:0:6);

 end;

end.

Объяснение:

Смотри код

0,0(0 оценок)
Ответ:
kabulbekova01
kabulbekova01
21.05.2021 03:04

использовать Чертежник

алг

нач

сместиться в точку (1,12)

опустить перо

сместиться в точку (3,12)

сместиться в точку (4,13)

сместиться в точку (5,13)

сместиться в точку (6,14)

сместиться в точку (6,13)

сместиться в точку (9,10)

сместиться в точку (18,10)

сместиться в точку (20,8)

сместиться в точку (20,5)

сместиться в точку (19,4)

сместиться в точку (19,7)

сместиться в точку (17,1)

сместиться в точку (15,1)

сместиться в точку (16,2)

сместиться в точку (16,3)

сместиться в точку (15,5)

сместиться в точку (15,6)

сместиться в точку (13,5)

сместиться в точку (10,6)

сместиться в точку (7,5)

сместиться в точку (7,1)

сместиться в точку (5,1)

сместиться в точку (6,2)

сместиться в точку (6,6)

сместиться в точку (4,10)

сместиться в точку (1,11)

сместиться в точку (1,12)

поднять перо

|глазик

сместиться в точку (3.95,11.95)

опустить перо

сместиться в точку (3.95,12.05)

сместиться в точку (4.05,12.05)

сместиться в точку (4.05,11.95)

сместиться в точку (3.95,11.95)

поднять перо

сместиться в точку (0,0)

кон


Очень Гении программы КуМир написать программу (КуМир Чертёжник) чтобы получилась следующая фигура:
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота