В данной программе нет объявления начала процедуры или функции, вместо этого идет непосредственное описание переменных и вычислений. Это неверно для языка PascalABCNET.
Кроме того, оператор += не является допустимым в языке PascalABCNET. Вместо этого нужно использовать обычное сложение:
a[k mod 10] := a[k mod 10] + 1;
Кроме того, внутренний цикл for должен быть обернут в begin и end, чтобы корректно выполняться:
for i := 1000 to 9999 do
begin
for j := 0 to 9 do
begin
a[j] := 0;
end;
end;
Необходимо также добавить begin и end после цикла while для правильной организации блока операций внутри цикла:
while k > 0 do
begin
a[k mod 10] := a[k mod 10] + 1;
k := k div 10;
end;
Исправленный вариант программы выглядит следующим образом:
var
i, j, k, count: integer;
a: array [0..9] of integer;
begin
count := 0;
for i := 1000 to 9999 do
begin
for j := 0 to 9 do
begin
a[j] := 0;
end;
k := i; while k > 0 do begin a[k mod 10] := a[k mod 10] + 1; k := k div 10; end; k := 0; for j := 0 to 9 do begin if a[j] = 2 then k := k + 1; end; if k = 1 then count := count + 1;
end;
writeln('Количество четырехзначных чисел с двумя одинаковыми цифрами равно ', count);
end.
В данной программе нет объявления начала процедуры или функции, вместо этого идет непосредственное описание переменных и вычислений. Это неверно для языка PascalABCNET.
Кроме того, оператор += не является допустимым в языке PascalABCNET. Вместо этого нужно использовать обычное сложение:
a[k mod 10] := a[k mod 10] + 1;
Кроме того, внутренний цикл for должен быть обернут в begin и end, чтобы корректно выполняться:
for i := 1000 to 9999 do
begin
for j := 0 to 9 do
begin
a[j] := 0;
end;
end;
Необходимо также добавить begin и end после цикла while для правильной организации блока операций внутри цикла:
while k > 0 do
begin
a[k mod 10] := a[k mod 10] + 1;
k := k div 10;
end;
Исправленный вариант программы выглядит следующим образом:
var
i, j, k, count: integer;
a: array [0..9] of integer;
begin
count := 0;
for i := 1000 to 9999 do
k := i;begin
for j := 0 to 9 do
begin
a[j] := 0;
end;
while k > 0 do
begin
a[k mod 10] := a[k mod 10] + 1;
k := k div 10;
end;
k := 0;
for j := 0 to 9 do
begin
if a[j] = 2 then
k := k + 1;
end;
if k = 1 then
count := count + 1;
end;
writeln('Количество четырехзначных чисел с двумя одинаковыми цифрами равно ', count);
end.