Fox7777
@Fox7777
Люблю python

Как исправить некорректную работу с else?

Program qwert;
const n=12;
var
A : array [1..N] of integer;
i : integer;
b : integer;
begin
for i := 1 to N do
begin
A[i] := random (30) - 20;
b := ( A[i]);
if b < 0 then
  begin
  b := 0;
  writeLn ('A[', i, '] = ', b);
  else  b >= 0 then
    writeLn ('A[', i, '] = ', b);
  end;
end.

Жалуется на не наличие оператора
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
ayazer
@ayazer
Sr. Software Engineer
синтаксически конструкция должна быть
if условие then
begin
 ....
end
else if условие2 then
begin
  ...
end;


у вас же
else b <= 0 then
находится внутри первого блока if. потому компилятор и ругается. Имея только тут код что сейчас в вопросе - могу предположить что вы что-то такое пытаетесь написать (это странно с точки зрения логики т.к. второй блок будет выполнятся только если b = 0, но имеем что имеем)

Program qwert;
const n=12;
var
A : array [1..N] of integer;
i : integer;
b : integer;
begin
for i := 1 to N do
begin
    A[i] := random (30) - 20;
    b := ( A[i]);
    if b < 0 then
    begin
        b := 0;
        writeLn ('A[', i, '] = ', b);
    end
    else if b <= 0 then
        writeLn ('A[', i, '] = ', b);
    end;    
end.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы