
var
n, Num, i, j, t: integer;
Count: array[1..12] of integer;
Names: array[1..12] of integer;
begin
for i := 1 to 12 do
begin
Count[i] := 0;
Names[i] := i;
end;
ReadLn(N); { Считываем количество запросов}
for i := 1 to N do
begin
ReadLn(t); {считали очередной запрос}
Count[t] := Count[t] + 1;
end;
{Сортируем массивы Names и Count в порядке убывания значений массива Count}
for i := 12 downto 2 do
for j := 2 to i do
if Count[j - 1] < Count[j] then
begin
t := Count[j];
Count[j] := Count[j - 1];
Count[j - 1] := t;
t := Names[j];
Names[j] := Names[j - 1];
Names[j - 1] := t;
end;
for i := 12 downto 1 do
if Count[i] > 0 then
WriteLn(Names[i], ' ', Count[i]);
end.
Объяснение:
var
x, y, a, b, c, D, x1, x2: real;
inp: string;
inp_arr: array of string;
begin
writeln('a b c');
readln(inp);
inp_arr := inp.split(' ');
a := StrToFloat(inp_arr[0]);
b := StrToFloat(inp_arr[1]);
c := StrToFloat(inp_arr[2]);
D := b*b - 4 * a * c;
x1 := (-b + sqrt(D)) / 2*a;
x2 := (-b - sqrt(D)) / 2*a;
if x1 > x2 then x := x1
else x := x2;
if x < 0 then y:= (1 / (x + (sin(x)/(x*x+1
else y:= (x*x-1)*sin(x)/(x*x*x);
write('a:', a, ' b:', b, ' c:', c, ' x:', x, ' y:', y);
end.