Вот тебе в паскале
program ryad_chisel;
var N, t:integer;
begin
read(N);
t:=(N*(N+1))div 2;
if t mod 2 =1 then writeln('IMPOSSIBLE')
else begin
if N mod 2 =0 then begin
t:=N div 4;
repeat
write('+');
t:=t-1;
until t=0;
t:=N div 2;
repeat
write('-');
t:=t-1;
until t=0;
t:=N div 4;
repeat
write('+');
t:=t-1;
until t=0;
end
else begin
t:=((N+1) div 4)-1;
repeat
write('+');
t:=t-1;
until t=0;
t:=((N-1) div 2)+1;
repeat
write('-');
t:=t-1;
until t=0;
t:=(N+1) div 4;
repeat
write('+');
t:=t-1;
until t=0;
end
end
end.
1. Берілген нүктелер арқылы өтетін түзудің теңдеуін жазыңыз: А(2;1) В(-1;2). [2 ұпай]
2. Шеңбердің берілген теңдеуі бойынша оның центрінің координаталары мен радиусын табыңыз: (х-4)2 +(у+8)2 =36 [1 ұпай]
3. нүктелері берілген.
a) төбелерінің координаталары бойынша салыңыз; [1 ұпай]
b) қабырғаларының ұзындықтарын табыңыз; [3 ұпай]
c) түрін анықтаңыз (теңқабырғалы, теңбүйірлі, тікбұрышты); [2 ұпай]
d) берілген үшбұрыштың ауданын есептеңіз. [2 ұпай]
4. Төбелері А (1;-1) В (0;1) С (4;3) және Д (5;1) нүктелері болатын төртбұрыштың тіктөртбұрыш болатынын дәлелдеп, оның ауданын табыңыз. Ол үшін:
a) төбелерінің координаталары бойынша сызбасын салыңыз; [1 ұпай]
b) қабырғаларының ұзындықтарын табыңыз; [4 ұпай]
c) диагональдарын анықтап, дәлелдеңіз; [2 ұпай]
d) тіктөртбұрыштың ауданын есептеңіз. [2 ұпай]
Объяснение
Для стека:
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++