0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 34
1

Найти максимальное и минимальное число массива с помощью рекурсии

10.11.2016, 13:45. Показов 2159. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан массив , Найти максимальное и минимальное число с помощью рекурсии
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2016, 13:45
Ответы с готовыми решениями:

С помощью рекурсии вывести максимальное число последовательности и нечётные числа
Дана последовательность чисел, вводится с клавиатуры, ввод завершается введением нуля. С помощью...

Среди чисел массива, встречающихся минимальное число раз, найти максимальное
Дан массив А из N элементов (0<N<1000;0<A<10000). Среди чисел массива, встречающихся минимальное...

Среди чисел массива, встречающихся минимальное число раз, найти максимальное
Дан массив А из N элементов (0<N<1000;0<A<10000). Среди чисел массива, встречающихся минимальное...

Найти максимальное и минимальное число отдельно среди всех положительных чисел массива
Товарищи помогите!!!Найти максимальное и минимальное число отдельно среди всех положительных чисел...

2
охотник
1011 / 535 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
10.11.2016, 14:56 2
Лучший ответ Сообщение было отмечено zooxie как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const n=10;
type mas=array[1..n]of integer;
var a:mas;
    i,min,max:integer;
procedure min_max(x:mas;var i,i_min,i_max:integer);
 begin
  if i<=n then 
           begin
            if x[i]<x[i_min] then i_min:=i;
            if x[i]>x[i_max] then i_max:=i;
            inc(i);
            min_max(x,i,i_min,i_max)
           end
 end;
begin
 randomize;
 for i:=1 to n do 
  begin
   a[i]:=random(21);
   write(a[i],' ')
  end;
 writeln;
 min:=1;max:=1;i:=1;
 min_max(a,i,min,max);
 writeln('min = ',a[min],' max = ',a[max])
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
10.11.2016, 19:07 3
vint-81,
стек не резиновый, а вы в него копию массива на каждый вызов...
Требование задавать перед вызовом процедуры значения выходных переменных -- моветон.
Да и на остальных параметрах можно сильно сэкономить:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure min_max(const x: array of Integer; n: Integer; var imn, imx: Integer);
var i: Integer;
  procedure impl;
  begin
    if i<n then begin
      if x[imn]>x[i] then imn:=i;
      if x[imx]<x[i] then imx:=i;
      Inc(i); impl;
    end;
  end;
begin
  imn:=0; imx:=0; i:=0; impl;
end;
const n=10;
var
  a: array [0..n-1] of Integer;
  imn, imx: Integer;
begin
  {...}
  min_max(a,n,imn,imx);
  {...}
end.
1
10.11.2016, 19:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2016, 19:07
Помогаю со студенческими работами здесь

Определить максимальное число в первой половине массива и минимальное число во второй
Помогите написать программу пожалуйста!!Вот условие: заполнить массив из N ячеек случайными целыми...

Определить максимальное число в первой половине массива и минимальное число во второй
Помогите написать программу пожалуйста!!Вот условие: заполнить массив из N ячеек случайными целыми...

Найти число Фиббоначи с помощью рекурсии
найти число фиббоначи с помощью рекурсии. заранее спасибо

Найти минимальное положительное число и максимальное отрицательное число среди заданных
Дано N действительных случайных чисел в диапазоне от -100 до 100. Найти минимальное положительное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru