Очень безотлагательно. Вопрос по программированию по Паскалю. Задачка: Даны 3 числа.
Очень безотлагательно. Вопрос по программированию по Паскалю. Задачка: Даны 3 числа. Функцией проверить, есть ли такое число в которой подряд идут 2 либо больше схожих цифр. Почему данная программка выводит в любом случае, что нет такового числа.
Program lul;
Var a,b,c:Integer;
Function qq (chislo:Integer):Integer;
Var n,n1,k:Integer;
Begin
n:=0;
n1:=0;
k:=0;
While (chislo*10 div 10 lt;gt; 0) do begin
n:=chislo mod 10;
chislo:=chislo div 10;
n1:=chislo mod 10;
If n=n1 then
k:=1;
break;
end;
qq:=k;
end;
begin
ReadLn(a,b,c);
If qq(a)=1 then WriteLN('Да, 1-ое число походит');
If qq(b)=1 then WriteLn('Да, 2-ое число подходит');
If qq(c)=1 then WriteLN('Да, третье число подходит') else WriteLn('Никакое число не подходит');
end.
Какая дикая дичь. Вот до чего доводит знакомство с Pascal неокрепших умов.
В принципе, ты бы увидел ошибку даже сам, если бы отступы расставлял. Дело в скобках begin-end - у тебя итерация цикла всегда заканчивается break, а не по условию n=n1.
P. S. *10 div 10 - эту примечательную операцию можешь ещё тыщу раз написать в проверке числа на ноль.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.