Рубрики:
Тема: "Что неправильно в коде программы паскаль? , просит точку с запятой перед else в операторе if."
Program z8;
var
s:string;
k,p,i,d:byte;
begin
writeln('vvedite chifri razdelaya tochkami, na konce *');
readln(s);
k:=0;
while s'*' do
begin
p:=pos('.',s);
k:=k+1;
if k=3 then p:=length(s);
d:=p;
for i:=1 to p do
if (s[1]='0') and (d-1>0) then
begin
Delete(S,1,1);
d:=d-1;
end;
if ((d-1)>3) and ((d-1)
begin
writeln('NO');
exit;
end else
if (d-1)=3 then
begin
case s[1] of
'1','2': If S[1]='2' then
begin
for i:=2 to 3 do
case s[i] of
'0'..'5':
else
begin
writeln('NO');
exit;
end; end else
for i:=2 to 3 do
case s[i] of
'0'..'9':
else
begin
writeln('NO');
exit;
end;
else begin
writeln('NO');
exit;
end;
end else
for i:=1 to (d-1) do
case s[i] of
'0'..'9':
else
begin
writeln('NO');
exit;
end;
Delete(s,1,d);
end;
Writeln('YES');
end.
А вот Само задание: Для того чтобы выходить в Интернет, каждому компьютеру присваивается так называемый IP-адрес. Он состоит из четырех целых чисел в диапазоне от 0 до 255, разделенных точками. Примеры пра-вильных IP-адресов:
127.0.0.0
192.168.0.01
255.00.255.255
На вход программе пода?тся последовательность символов, за ко-торой следует признак конца ввода - зв?здочка. Вывести слово YES, если введ?нная последовательность является правильным IP-адресом (без уч?та зв?здочки) , и NO – иначе.
- Потому что ты херню написал в этой части. Лично я не понял что ты хотел написать этим.
case s[1] of
'1','2': If S[1]='2' then
begin
for i:=2 to 3 do
case s[i] of
'0'..'5':
else
begin
writeln('NO');
exit;
end; end else.