[С++ ]Поставил begin — поставь и end. Как распознать вложения и правильно поставить в коде end?
Мне всё предельно ясно, нет проблем.
Вот только не ясно как распознать вложения. Точнее как узнать место куда вставить end, в комментариях я выделил end, который "забыли" поставить а мне его нужно дописать. Код должен работать правильно, после проверки а не испортиться.
Например:
Код:
var a,n,c,d:word;
begin
readln( a );
n:=1;
while ( n <= sqrt(a) ) do begin
c:=a mod n;
d:=a div n;
if c = 0 then begin
writeln( n );
if n <> d then writeln( d );
{end; }
inc( n ); { вот как понять, что end;должен стоять до а не после? }
end;
end.
begin
readln( a );
n:=1;
while ( n <= sqrt(a) ) do begin
c:=a mod n;
d:=a div n;
if c = 0 then begin
writeln( n );
if n <> d then writeln( d );
{end; }
inc( n ); { вот как понять, что end;должен стоять до а не после? }
end;
end.
Код:
var s:string;
i,j,n:integer;
begin
readln(s);
s:=s[length(s)] + copy(s,1,length(s)-1);
writeln(s);
{end.}
i,j,n:integer;
begin
readln(s);
s:=s[length(s)] + copy(s,1,length(s)-1);
writeln(s);
{end.}
А у тебя задание именно добавить недостающие end, или просто проверить? А то, знаешь ли end можно вставить где угодно между операторами.