Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2009, 19:13   #1
st1m
 
Регистрация: 01.04.2009
Сообщений: 3
По умолчанию решить с использованием функции! помогите сделать.

Составить программу,определяющую,в какомиз данных чисел больше цифр.
st1m вне форума Ответить с цитированием
Старый 02.04.2009, 20:34   #2
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

uses crt;
var
x,y:integer;
function max(a,b:integer):integer;
var
n1,n2,b1,b2:integer;
begin
b1:=a;
b2:=b;
n1:=0;
n2:=0;
while b1>0 do
begin
inc(n1);
b1:=b1 div 10;
end;
while b2>0 do
begin
inc(n2);
b2:=b2 div 10;
end;
if n1>n2 then max:=a
else max:=b;
end;
begin
clrscr;
readln(x,y);
writeln(max(x,y));
readln;
end.
@(o_0)@
Tkirill вне форума Ответить с цитированием
Старый 03.04.2009, 16:46   #3
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

еще можно введенные числа преобразовывать в строки и сравнивать их длины... попроще будет...
предыдущий алгоритм не нравится из-за наличия двух циклов.. =(
Uguu~

Последний раз редактировалось __STDC__; 03.04.2009 в 16:50.
__STDC__ вне форума Ответить с цитированием
Старый 03.04.2009, 18:58   #4
Min
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 239
По умолчанию

если нужно без строк, а чисто на алгебре, то вот:
Код:
var a1,a2,len1,len2:integer;
begin
 writeln('vvedite a1,a2:');
 readln(a1,a2);
 len1:=trunc(ln(a1)/ln(10));
 len2:=trunc(ln(a2)/ln(10));
 if(len1=len2) then writeln('a1=a2')
 else
 if(len2>len1) then writeln('a2>a1')
 else
                    writeln('a1>a2');
 readln;
end.
но только условие, что числа целые.
Надо бы избавиться от привычки ставить многоточие.....
Min вне форума Ответить с цитированием
Старый 03.04.2009, 20:11   #5
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

А не проще, как сказал уважаемый __STDC__?
Код:
program sdd;
var s,s1:string;
    i:integer;
    begin
    ReadLn(s);
     ReadLn(s1);
     if Length(s)>Length(s1) then
      begin
       WriteLn(s);
       end
        else WriteLn(s1);
        end.
Кто бы ты ни был - не думай о себе слишком (с)
DM_bite вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
решить с использованием рекурсивной подпрограммы. помогите пожалуйста ваще ни че не понял st1m Паскаль, Turbo Pascal, PascalABC.NET 2 02.04.2009 15:31
Программа с использованием функции Cartman18 Помощь студентам 1 10.12.2007 16:29
Помогите пожалуйста!!! С использованием функции Random сформировать одномерный массив Vanya_www_333 Помощь студентам 1 17.08.2007 13:38