shturman-765255
?>

Если несколько команд набрали одинаковое количество очков, то места между ними распределяются по разнице забитых и пропущенных мячей: чем разница больше, тем место выше. Попробуйте усовершенствовать программу, учитывая это правило. Для этого в программу надо добавить массив с разницами мячей Условие то же что и в предыдущем задании но в качестве исходных данных вводится еще два массива: с числом забитых и пропущенных мячей каждой командой. --- Нужно добавить два массива из 2 задания. (1 это предисловие так сказать) Program Premier_liga_2; var B, Diff: array [1..16] of integer; Team: array[1..16] of string; I, K, X, Z, P: integer; St: string; begin writeln('Введите названия команд и полученные ими очки'); for I:=1 to 16 do begin write(I, ' Название: '); readln(Team[I]); write('Очки: '); readln(B[I]); write('Забитые мячи: '); readln(Z); write('Пропущенные мячи: '); readln(P); Diff[I]:= Z-P; end; for K:=1 to 15 do for I:=1 to 16-K do if (B[i] < B[I+1]) or ((B[i] = B[I+1]) and (Diff[i] < Diff[I+1])) then begin X:=B[I]; B[I]:=B[I+1]; B[I+1]:=X; St:=Team[I]; Team[I]:=Team[I+1]; Team[I+1]:=St; end; for I:=1 to 16 do begin for K:=1 to 18-length(Team[I]) do Team[I]:=Team[I]+' '; writeln(I:2, ' ', Team[I]:18, B[I]:2) end; end.

Информатика

Ответы

Zashchitin Denis

1. если несколько команд...


Если несколько команд набрали одинаковое количество очков, то места между ними распределяются по раз
natura-domA90
DATA 101,98,100,108,97,106,99,100,112,96,107,98
DIM a(1 TO 12) AS INTEGER
DIM b(1 TO 12) AS INTEGER, c(1 TO 12) AS INTEGER
DIM i AS INTEGER, ib AS INTEGER, ic AS INTEGER
CLS
ib = 0: ic = 0
FOR i = 1 TO 12
        READ a(i)
        SELECT CASE a(i)
        CASE 100
                ib = ib + 1
                b(ib) = i
        CASE IS > 100
                ic = ic + 1
                c(ic) = i
        END SELECT
NEXT i

PRINT "План (100%) в месяцах: ";
FOR i = 1 TO ib
        PRINT b(i);
NEXT i
PRINT
PRINT "перевыполнение плана в месяцах ";
FOR i = 1 TO ic
        PRINT c(i);
NEXT i
END

Результат выполнения программы:
План (100%) в месяцах:  3  8
перевыполнение плана в месяцах  1  4  6  9  11
Designer
Program z1;
uses crt;
const n=10;
var a: array[1..n] of integer;
i, s: integer;
begin
clrscr;
s:=0;
writeln('Введите элементы массива');
for i:=1 to n do begin
read(a[i]); // ввод элементов в одну строку через пробел
if a[i] mod 2 = 1 then inc(s)
end;
writeln(s);
readkey;
end.

program z2;
uses crt;
const n=5;
var a: array[1..n] of real;
i: integer;
s: real;
begin
clrscr;
s:=0;
writeln('Введите элементы массива');
for i:=1 to n do begin
read(a[i]); // ввод элементов в одну строку через пробел
if a[i]>2 then s:=s+sqr(a[i])
end;
writeln(s);
readkey;
end.

program z3;
uses crt;
const n=5;
var a1, a2, a3: array[1..n] of integer;
i: integer;
begin
clrscr;
randomize;
for i:=1 to n do begin
a1[i]:= random(100)+1; // рандомное число от 1 до 100 
a2[i]:= random(100)+1;
a3[i]:=a1[i]-a2[i];
writeln(a1[i], '   ', a2[i], '   ', a3[i]);
end;
readkey;
end.

program z4;
uses crt;
const n=10;
var a: array[1..n] of integer;
max, c, i: integer;
begin
clrscr;
writeln('Введите элементы массива');
for i:=1 to n do read(a[i]);
max:=a[i];
for i:=1 to n do begin
if max<a[i] then begin max:=a[i]; c:=i
end
end;
writeln('');
writeln('max=', max, '  номер=', c);
readkey;
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Если несколько команд набрали одинаковое количество очков, то места между ними распределяются по разнице забитых и пропущенных мячей: чем разница больше, тем место выше. Попробуйте усовершенствовать программу, учитывая это правило. Для этого в программу надо добавить массив с разницами мячей Условие то же что и в предыдущем задании но в качестве исходных данных вводится еще два массива: с числом забитых и пропущенных мячей каждой командой. --- Нужно добавить два массива из 2 задания. (1 это предисловие так сказать) Program Premier_liga_2; var B, Diff: array [1..16] of integer; Team: array[1..16] of string; I, K, X, Z, P: integer; St: string; begin writeln('Введите названия команд и полученные ими очки'); for I:=1 to 16 do begin write(I, ' Название: '); readln(Team[I]); write('Очки: '); readln(B[I]); write('Забитые мячи: '); readln(Z); write('Пропущенные мячи: '); readln(P); Diff[I]:= Z-P; end; for K:=1 to 15 do for I:=1 to 16-K do if (B[i] < B[I+1]) or ((B[i] = B[I+1]) and (Diff[i] < Diff[I+1])) then begin X:=B[I]; B[I]:=B[I+1]; B[I+1]:=X; St:=Team[I]; Team[I]:=Team[I+1]; Team[I+1]:=St; end; for I:=1 to 16 do begin for K:=1 to 18-length(Team[I]) do Team[I]:=Team[I]+' '; writeln(I:2, ' ', Team[I]:18, B[I]:2) end; end.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Coverplus30
Калмыкова-Петрунина
qadjiyevaaynura
frame45
alexderru
Golubitskaya378
svetkinm158
terma-msk1
akuznecov8989
zharovaleks
Ferrigen
Natacha3636672
Константин
ПетровичЖивотовская1245
Vladmouse32506