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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2009, 19:20   #1
Deviver
 
Регистрация: 11.04.2009
Сообщений: 4
По умолчанию C++ Рекурсия и массивы

Доброе время суток. Очень интерисует как с помощью рекурсии найти минимальный элемент в одномерном массиве на с++. Помогите пожалуйста. Заранее благодарен
Deviver вне форума Ответить с цитированием
Старый 11.04.2009, 20:40   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вообще можно по-разному рассматривать эту задачу.
Видимо, как-то так:
Код:
#include <iostream>
#include <conio.h>
using namespace std;

int minimum(int *mas, int n, int k)
{
 int a;
 if(k==n-1) return k;

 a = minimum(mas,n,k+1);
 if(mas[a]<mas[k]) return a;
 else return k;

}

int main()
{
int mas[100];
int i,n,min;

cout<<"Vvedite razmer massiva: ";
cin>>n;
for(i=0;i<n;i++)
 {
  cout<<"Vvedite mas["<<i<<"]: ";
  cin>>mas[i];
 }
cout<<endl;

min = minimum(mas,n,0);
cout<<"Minimum: mas["<<min<<"] = "<<mas[min]<<endl;

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 11.04.2009, 22:57   #3
Deviver
 
Регистрация: 11.04.2009
Сообщений: 4
По умолчанию

*mas - что значит эта строка?
Deviver вне форума Ответить с цитированием
Старый 11.04.2009, 23:06   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
*mas - что значит эта строка?
Указатель на int. Функции передается массив по указателю.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 11.04.2009, 23:35   #5
Deviver
 
Регистрация: 11.04.2009
Сообщений: 4
По умолчанию

А переменная К за что отвечает?
Deviver вне форума Ответить с цитированием
Старый 11.04.2009, 23:44   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

n - размер массива
k - номер элемента, формирующего подмассив.
То есть мы рекурсивно уменьшаем подмассив, пока его размер не станет равным 1.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 12.04.2009, 00:11   #7
Deviver
 
Регистрация: 11.04.2009
Сообщений: 4
По умолчанию

Спасибо огромное
Deviver вне форума Ответить с цитированием
Старый 27.03.2015, 11:20   #8
Shustrila
Новичок
Джуниор
 
Регистрация: 27.03.2015
Сообщений: 1
По умолчанию

можешь пожалуйста объяснить эти строчки:
a = minimum(mas,n,k+1);

min = minimum(mas,n,0);
Shustrila вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия Claster Помощь студентам 7 24.09.2008 20:52
Рекурсия vitekbest Помощь студентам 1 30.05.2008 22:22
рекурсия Vital_k Паскаль, Turbo Pascal, PascalABC.NET 1 08.02.2008 13:09
Рекурсия АнНютик Паскаль, Turbo Pascal, PascalABC.NET 1 29.01.2008 22:50
Рекурсия Pravednik Помощь студентам 3 21.01.2008 14:18