АВ
Александра Вячеславовна

Помогите найти ошибку в коде Паскаль

При вводе только положительных чисел!

Программа зацикливается в каком-то месте.

Program p3;
var a,b,s1,s2:longint;
begin
writeln('введите 2 числа');
readln(a,b);
s1:=0;
s2:=0;
while a>0 do;
begin
s1:=s1+(a mod 10);
a:=a div 10;
end;
while b>0 do;
begin
s2:=s2+(b mod 10);
b:=b div 10;
end;
if s1>s2 then
writeln('сумма цифр первого числа больше');
if s1

Тамара
Тамара

while a>0 do; - ошибочная точка с запятой.
while b>0 do; - ошибочная точка с запятой.

Между do и begin никаких точек с запятой быть не может.

while b>0 do; означает цикл из одного пустого оператора - в котором ничего не меняется и b всегда > 0 - до бесконечности.

ЗК
Зухра Кришталь

Вот здесь циклится

while a>0 do;

Похожие вопросы
Ошибка в коде на Паскале.
Помогите найти ошибку (паскаль)
Ошибка в коде.. . Паскаль
помогите найти ошибку паскале
ребят помогите пожалуйста найти ошибку в коде на паскале (код небольшой)
Помогите найти ошибку в Паскале
перевод кода из паскаля на Си не найти ошибку.
Помогите найти ошибку в программном коде (среда паскаль, Lazarus)
помогите найти ошибку в коде турбо паскаль
Помогите найти ошибку Паскаль