• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

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

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Две задачи с массивами в Паскале

  • Автор темы Автор темы Arator
  • Дата начала Дата начала

Arator

Новые
Регистрация
18 Май 2012
Сообщения
14
Реакции
0
Баллы
0
Две задачи с массивами в Паскале

Помогите решить пожалуйста ...
1) Создать массив случайных трехзначных целых чисел (N <= 30). Найти наибольшую цифру каждого числа. Использовать рекурсивную функцию нахождения наибольшего цифры числа.
2) Создать массив случайных четырехзначных целых чисел (N <= 30). Найти число, которое содержит наибольшее количество нулей. Использовать рекурсивную функцию нахождения количества нулей числа
 
Помогите решить пожалуйста ...
1) Создать массив случайных трехзначных целых чисел (N <= 30). Найти наибольшую цифру каждого числа. Использовать рекурсивную функцию нахождения наибольшего цифры числа.
Вот пожалуйста:
Код:
const n=15;
var
m:array [1..n] of integer;
i:integer;
function max(a:integer):integer;
var
b,c,d:integer;
begin
b:=(a div 100) mod 10;
c:=(a div 10) mod 10;
d:=a mod 10;
if (d>b) and (d>c) then max:=d else
if (b>d) and (b>d) then max:=b else
if (c>d) and (c>d) then max:=c;
end;
begin
randomize;
for i:=1 to n do begin
m[i]:=random(900);
writeln (m[i],' - ',max(m[i]));
end;
readln
end.
 
Э-э, Миша - так то что, так то и я могу! А вот ты с рекурсивными функциями сделай!
P.S. Между прочим, поскольку числа должны быть трехзначными, то задавать выборку надо так: m:=100+random(900);, что соответствует диапазону 100..999.
 
Назад
Сверху