//Как-то громоздко получилось, но я так вижу. Эх, выходные. const n=5; var a:array[1..n] of integer; b:array[0..8] of integer; ar:array[1..n] of integer; i,c,j:integer; begin randomize; writeln('Array:'); for i:=1 to n do begin a[i]:=random(8); write(a[i]:4); end; for i:=1 to n do begin; for j:=0 to 8 do if a[i]=j then inc(b[j]); end; for i:=1 to n do begin; for j:=0 to 8 do if (b[j]>1) and (a[i]=j) then a[i]:=9; if a[i]<>9 then begin; inc(c); ar[c]:=a[i]; end; end; writeln; for i:=0 to 8 do writeln(i,'=',b[i]); writeln; writeln('Final array:'); for i:=1 to n do if a[i]=9 then a[i]:=0;
for i:=1 to c do begin; a[i]:=ar[i]; write(a[i]:4); end; end.
Я так поняла вопрос в том, что надо объяснить работу программы. ответ будет выводиться в зависимости от введеных значений переменных. Переменная M типа boolean, т.е. это логическая переменная; которой может быть присвоенно только 2 значения, либо true, либо false, т.е. либо логическое вырожение истинное, либо ложное. Если в конце программы добавить writeln(M), тогда выведиться либо слово true, либо false. Не знаю, случайно ли, но в программе есть опечатки и в таком виде она работать не будет. 1. После program bd; ставиться точка с запятой, а не просто запятая. 2. Не car, a var 3. После объявления переменных, перед указанием их типа надо ставить двоеточие (:), а не точку с запятой (;) 4. После M необходимо поставить двоеточие (M:boolean;) 5. В операторе ввода read, нельзя ставить апостровы. Если вы хотите ввести значения, неоходимо просто через запятую их написать readln(a,b); Ну и как я уже сказала, если вы хотите вывести результат выполнения программы, перед end. Вставьте оператор writeln(M); Вроде всё
const n=5;
var a:array[1..n] of integer;
b:array[0..8] of integer;
ar:array[1..n] of integer;
i,c,j:integer;
begin
randomize;
writeln('Array:');
for i:=1 to n do
begin
a[i]:=random(8);
write(a[i]:4);
end;
for i:=1 to n do
begin;
for j:=0 to 8 do
if a[i]=j then inc(b[j]);
end;
for i:=1 to n do
begin;
for j:=0 to 8 do
if (b[j]>1) and (a[i]=j) then a[i]:=9;
if a[i]<>9 then
begin;
inc(c);
ar[c]:=a[i];
end;
end;
writeln;
for i:=0 to 8 do writeln(i,'=',b[i]);
writeln;
writeln('Final array:');
for i:=1 to n do
if a[i]=9 then a[i]:=0;
for i:=1 to c do
begin;
a[i]:=ar[i];
write(a[i]:4);
end;
end.