Цикл с повторением
Объяснение:
Тебе же необходимо выполнить некоторое кол-во раз - значит повторить!
Begin
writeln('¶¶¶¶¶¶¶¶¶¶1');
writeln('¶¶¶¶¶¶¶¶¶¶¶¶1');
writeln('¶¶_¶¶¶¶¶¶¶¶¶¶¶¶¶');
writeln('¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶');
writeln('¶¶__¶¶¶__¶¶¶¶_¶¶¶¶¶¶¶¶');
writeln('¶¶_¶¶¶¶_¶¶¶¶¶¶¶¶¶_¶¶¶¶¶1');
writeln('¶_¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶1');
writeln('¶_¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶1');
writeln('¶¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶1');
writeln('¶¶¶¶¶_¶¶¶¶¶¶¶__¶¶¶¶¶_¶¶¶¶¶');
writeln('¶¶¶¶¶_¶¶¶¶¶¶¶¶¶_¶¶¶¶¶1');
writeln('¶¶¶¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶¶');
writeln('_¶¶1¶¶¶¶_¶¶¶¶¶¶¶¶¶¶1');
writeln('_¶¶¶¶¶¶¶¶_¶¶¶¶¶¶¶¶1');
writeln('__¶¶_¶¶¶¶¶¶_¶¶¶¶');
writeln('__¶¶¶__¶¶¶¶¶¶_¶¶¶');
writeln('__¶¶¶___¶__¶¶¶¶¶_¶¶¶¶');
writeln('___¶¶¶¶¶_¶_¶¶¶¶¶¶_¶¶¶¶');
writeln('___¶¶_¶¶¶¶¶1¶¶¶¶¶¶¶¶¶¶1');
writeln('__¶__¶¶¶¶¶¶¶¶1¶¶¶¶¶¶¶¶¶¶¶1');
writeln('_¶¶_¶¶¶¶_¶¶¶¶¶¶¶1¶¶¶¶¶_¶¶¶¶¶');
writeln('_¶¶_0__0_¶¶¶¶¶¶¶¶¶¶¶¶1__¶¶¶¶__¶¶¶1');
writeln('_¶¶_¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶¶¶1__¶¶¶¶_¶¶¶¶1');
writeln('_¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶_¶¶¶1');
writeln('__¶¶¶¶¶¶¶¶_¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶_¶¶¶¶¶_¶¶¶1');
writeln('___¶¶¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶¶__¶¶¶¶_¶¶¶¶1');
writeln('¶¶¶_¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶__¶¶¶¶¶_¶¶¶1');
writeln('¶¶¶¶¶¶___¶¶¶¶¶¶_¶¶¶¶¶¶__¶¶¶¶_¶¶¶1');
writeln('¶_¶¶¶¶¶¶¶¶¶_¶¶¶¶¶_¶¶¶¶¶¶__¶¶¶¶_¶¶¶1');
writeln('___1¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶¶¶__¶¶¶¶_¶¶¶1');
writeln('__1¶¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶¶¶__¶¶¶¶_¶¶¶1');
writeln('__1¶¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶¶¶¶__¶¶¶¶_¶¶¶1');
writeln('__1¶¶¶¶¶_¶¶¶¶_¶¶¶¶__¶¶¶¶¶¶¶¶¶¶_¶¶¶_¶¶¶1');
writeln('___1¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶_¶¶_¶¶_¶¶¶¶1');
writeln('¶_¶¶¶¶¶_¶¶¶¶¶¶¶_¶¶¶¶¶¶¶_¶_¶¶_¶¶¶1');
writeln('¶¶¶¶¶_¶¶¶¶¶¶¶¶_¶¶¶¶¶¶_¶_¶¶_¶¶1');
writeln('¶¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶_¶¶_¶¶¶¶1');
writeln('¶¶¶¶_¶¶¶¶¶¶¶¶¶¶¶¶_¶¶1');
writeln('___¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶___¶¶¶___¶¶¶¶¶');
writeln('__¶¶¶¶¶¶¶¶¶¶¶¶¶¶_¶¶¶¶¶¶¶¶');
writeln('_¶¶¶¶¶¶¶¶¶¶¶¶¶');
writeln('_¶___¶¶¶¶_¶¶¶¶');
writeln('¶___¶¶¶¶_¶¶¶¶¶¶¶');
writeln('¶¶¶¶_¶¶¶¶¶1¶¶');
writeln('¶¶¶¶_¶¶¶¶¶¶¶¶¶_¶¶');
writeln('¶¶¶¶_¶¶¶¶¶¶¶¶¶¶_¶¶');
writeln('¶¶¶¶¶_¶¶¶¶¶¶¶¶¶_¶¶');
writeln('¶¶¶¶¶_¶¶¶¶¶¶¶¶¶¶_¶¶');
writeln('¶¶¶¶_¶¶¶¶¶¶¶¶¶_¶¶');
writeln('¶¶¶¶_¶¶¶¶¶¶¶¶¶_¶');
writeln('¶¶¶¶¶¶¶¶¶¶_¶');
writeln('¶¶¶1¶¶¶¶¶');
writeln('¶¶1¶¶');
writeln('¶¶');
writeln('¶¶');
end.
Подробнее - на -
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.
Объяснение:
Смотри код
Цикл повторения