1)uses crt; var x,a,b,c,i: integer; begin cls; write('введите число: '); readln(x); a: = x div 100; b: = (x - a*100) div 10; c: = (x - a*100 - b*10); if (a=b) or (a=c) or (b=c) then writeln('есть одинаковые цифры') else writeln('одинаковых цифр нет'); end.2)uses crt; var x: real; begin cls; write('сумма покупки: '); readln(x); if x> 1000 then x: =x-(x*0.1); writeln('стоимость с учётом возможной скидки ',x); end.
Для стека:
const
MAX_SIZE = 100;
var
size, n: integer;
stack: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
inc(size);
stack[size] := a;
end;
procedure view;
var
i: integer;
begin
for i := 1 to size do
write(stack[i], ' ');
writeln;
end;
Для очереди:
const
MAX_SIZE = 100;
var
head, tail: integer;
queue: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
queue[tail] := a;
inc(tail);
end;
procedure view;
var
i: integer;
begin
for i := head to tail - 1 do
write(queue[i], ' ');
writeln;
end;
Объяснение:
Можно лучший , и учи C++