Помощь - Поиск - Пользователи - Календарь
Полная версия: Прцедуры,функции,подпрограммы.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
gryzlik
Еще одна задача...Тоже вот порешала,а она не работает!

Составить программу, определяющую, в каком из данных двух чисел больше цифр.

var a,b:integer;
function Kol_c1(a:integer) :integer;
var k,razr : integer;
BEGIN
k:=0;
repeat
k:=k+1;
razr:=a mod 10;
a:=a div 10
until a=0;
Kol_c1:=k;
END;
function Kol_c2(b:integer) :integer;
var n,razr : integer;
BEGIN
n:=0;
repeat
n:=n+1;
razr:=b mod 10;
b:=b div 10
until b=0;
Kol_c2:=n;
END;
procedure Sravnenie(Kol_c1,kol_c2:integer);
begin
if kol_c1(a)>kol_c2(b) then writeln('V chisle a bolshe cifr');
if kol_c1(a)<kol_c2(b) then writeln('V chisle b bolshe cifr');
if kol_c1(a)=kol_c2(b) then writeln('Kolichestvo cifr V chislah ravno');
end;
BEGIN
write('Vvedite pervoe chislo');
readln(a);
writeln('V dannom chisle',Kol_c1(a),' cifr');
readln(Kol_c1);
write('Vvedite vtoroe chislo');
readln(b);
writeln('V dannom chisle',Kol_c2(b),' cifr');
readln(Kol_c2);
writeln('V chisle',Sravnenie,'bolshe cifr');
readln;
END.

Помогите пожалуйста.Заранее спасибо!
volvo
procedure Sravnenie(Kol_c1,kol_c2:integer);
begin
if kol_c1(a)>kol_c2(b) then writeln('V chisle a bolshe cifr');
if kol_c1(a)<kol_c2(b) then writeln('V chisle b bolshe cifr');
if kol_c1(a)=kol_c2(b) then writeln('Kolichestvo cifr V chislah ravno');
end;

Вот тут есть ошибка: ты передаешь переменные точно с такими же именами, как у тебя описаны функции. После этого действия у тебя функции просто так НЕдоступны... Надо сделать так:
procedure Sravnenie(a, b:integer); { <--- !!! }
begin
if kol_c1(a)>kol_c2(b) then writeln('V chisle a bolshe cifr');
if kol_c1(a)<kol_c2(b) then writeln('V chisle b bolshe cifr');
if kol_c1(a)=kol_c2(b) then writeln('Kolichestvo cifr V chislah ravno');
end;


Ну, и сам вызов:
BEGIN
write('Vvedite pervoe chislo');
readln(a);
writeln('V dannom chisle',Kol_c1(a),' cifr');
write('Vvedite vtoroe chislo');
readln(b);
writeln('V dannom chisle',Kol_c2(b),' cifr');
Sravnenie(a, b);
readln;
END.
gryzlik
Спасибо огромное!!! Вы меня очень выручили!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.