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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2009, 18:32   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

т.к. числа в задании двухзначные, то достаточно
сравнивать (Число div 10) и не надо никаких делений, умножений, функций и прочего..
Хотя, функция FirstDigit из поста #10 от Alex_FF имеет такой несомненный плюс - она не зависит от числа - какое бы ей число не дали на вход (хоть двухзначное, хоть десятизначное), она всегда вернёт первую цифру!!!


_____
в программе две ошибки - для функции не задан возвращаемый тип,
и Random должен быть от 99: Random(99) т.к. Random(Range) — the range 0 <= X < Range.

Ещё бы я выдавал массив. а то невозможно проконтролировать работу программы.
И последнее, мне кажется, что в задании нужно выдавать не максимальную цифру, а элемент с максимальной цифрой

вот мой вариант (на базе (c) Alex_FF ):
Код:
function FirstDigit(X: Integer) : integer;
begin
  while X div 10 <> 0 do
    X := X div 10;
  FirstDigit := X;
end;

var
  I, Max  : Integer;
  a: Array[1..9] of Integer;
begin
  Randomize;
  for I := 1 to 9 do begin
    a[i] := 1 + Random(99);
    Write(a[i]:3)
  end;
  WriteLn;
  max := a[1];
  for I := 1 to 9 do
    if FirstDigit(Max) < FirstDigit(a[i]) then Max := a[i];
  WriteLn('Max element = ',Max:1);
end.

Последний раз редактировалось Serge_Bliznykov; 10.12.2009 в 18:43.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.12.2009, 20:50   #12
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

тип для функции правда забыл написать

Последний раз редактировалось Alex_FF; 10.12.2009 в 21:13.
Alex_FF вне форума Ответить с цитированием
Старый 10.12.2009, 21:14   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Random(98) возвращает число от 0 до 98
нет. Random(98) будет давать число от нуля до 97

сделайте маленький тестовый пример,
только возьмите, например, random(5):
Код:
for i:=1 to 20 do Writeln(Random(5));
пятёрка вышла хоть раз?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск мин. элемента массива lg12 Помощь студентам 1 10.07.2009 15:07
Поиск Макс элемента kostya2 Общие вопросы C/C++ 5 26.04.2009 16:49
Поиск минимального (максимального) элемента массива Radamant Помощь студентам 10 24.12.2008 17:44
Поиск позиции элемента несортированного массива gdneon Microsoft Office Excel 4 16.04.2007 08:08