Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 07.11.2010
Сообщений: 15

Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию

25.11.2011, 01:22. Показов 4032. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень нужна ваша помощь. Нужно составить программу с использованием рекурсии. Все значения передавать функциям в виде параметров.

Дан массив Х из N вещественных чисел. Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию, находящую минимум среди последних элементов массива Х, начиная с N-го.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.11.2011, 01:22
Ответы с готовыми решениями:

Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию
Дан вектор Х из N вещественных чисел. Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию, находящую...

Описать рекурсивную функцию MinRec(A,N) вещественного типа, которая находит минимальный элемент массива
Описать рекурсивную функцию MinRec(A,N) вещественного типа, которая находит минимальный элемент вещественного массива A размера N, не ...

Описать функцию max (X) для определения максимального элемента вектора X, введя вспомогательную рекурсивную функцию
Всем доброго времени суток. Помогите пожалуйста разобраться в условиях задачи, а то что-то у меня с математикой плохо. const...

6
25.11.2011, 01:27
 Комментарий модератора 
может на втором году регистрации на форуме перечитаем правила? хотя бы в части касающейся именования тем?
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 09:59
C
1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
double Min(double *a, int n)
{
   return n == 1 ? a[0] : (Min(a, n-1) < a[n-1] ? Min(a, n-1) : a[n-1]);
}
 
int main()
{
    double a[5] = {1.0, -2.5, 3.4, -4.5, 0.0};
    printf("%f\n", Min(a, 5));
    return 0;
}
Но лучше, конечно, так:

C
1
2
3
4
5
double Min(double *a, int n)
{
   double buf;
   return n == 1 ? a[0] : ((buf = Min(a, n-1)) < a[n-1] ? buf : a[n-1]);
}
0
0 / 0 / 0
Регистрация: 07.11.2010
Сообщений: 15
25.11.2011, 15:06  [ТС]
а можно сделать так, чтобы элементы массива и количество их вводились с клавиатуры?
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 15:09
Цитата Сообщение от din73107 Посмотреть сообщение
а можно сделать так, чтобы элементы массива и количество их вводились с клавиатуры?
Можно, для вас это думаю совсем не затруднительно будет сделать)
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
25.11.2011, 15:52
Цитата Сообщение от din73107 Посмотреть сообщение
а можно сделать так, чтобы элементы массива и количество их вводились с клавиатуры?
конечно, это же обычный ввод
C++
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
27
28
29
30
31
32
#include <iostream>
#define SIZE 100
 
using namespace std;
 
 
int main(int argc, char* argv[])
{
 
        int arr[SIZE]; 
        int size;
 
        cout << " Enter size = ";
        cin >> size;
 
        for (int i=0;i<size;i++)
        {
                cout << "arr["<<i+1<<"]=";
                cin >> arr[i];
 
        }
        
        for (int i=0;i<size;i++)
        {
                cout << arr[i]<<"   ";
 
        }
 
 
        system ("pause");
        return 0;
}
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 15:56
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void Init(double *a, int n)
{
   if (n > 0)
   {
       scanf("%lf", a + n - 1);
       Init(a, n - 1);
   }
}
 
double Min(double *a, int n)
{
   double buf;
   return n == 1 ? a[0] : ((buf = Min(a, n-1)) < a[n-1] ? buf : a[n-1]);
}
 
int main()
{
    double a[10];
    Init(a, 10);
    printf("%f\n", Min(a, 10));
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2011, 15:56
Помогаю со студенческими работами здесь

Используя функцию swap поменять местами максимальный и минимальный элемент массива
Нужно задать массив и используя функцию swap поменять местами максимальный и минимальный элемент.

Найти минимальный элемент массива используя рекурсию
Добрый день! Задание: найти минимальный элемент с помощью рекурсии. Сначала сделал с помощью цикла,вот так: void Fn2(int *a, int n)...

Найти минимальный четный элемент массива используя указатели
Ребята, помогите. Тоько начинаю програмировать и никак не могу разобраться. Нужно найти минимальный четный елемент массива.

Не используя условный оператор, найти минимальный элемент линейного массива
Подскажите пожалуйста как можно реализовать на Си задачу: &quot;Не используя условный оператор, найти минимальный элемент линейного...

Используя ассемблерные вставки найти среднеарифметическое и минимальный элемент массива
нада найти среднее арифметическое елементов масива и минимальний елемент етого массива.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru