Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.64
ERZ19
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 6
#1

Поиск максимального элемента одномерного массива (рекурсией) - C++

05.04.2012, 18:35. Просмотров 6298. Ответов 4
Метки нет (Все метки)

С помощью рекурсивной функции
осуществить поиск максимального
элемента одномерного массива

Добавлено через 51 секунду
Ой тоесть функций)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 18:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск максимального элемента одномерного массива (рекурсией) (C++):

программа для нахождения максимального элемента одномерного массива - C++
написать программу которая использует функцию для нахождения максимального по модулю элемента массива только пожалуйста попроще и чтоб в...

Поиск максимального среди отрицательных элементов одномерного массива - C++
Доброго времени суток! Задача следующая: В массиве Х, содержащем 14 элементов, определить максимальный элемент среди отрицательных...

Для одномерного массива, состоящих из n целых чисел: Найти номер максимального элемента; - C++
Для одномерного массива, состоящих из n целых чисел: Найти номер максимального элемента;

Поиск максимального элемента массива - C++
Всем вечер добрый Вот моя ситуация: дано два одномерных массива А и Б допустим как мне найти максимальный G если G=a*a+b*b как...

Поиск и замена максимального элемента двумерного массива - C++
Добрый день, надо написать динамический массив который находит максимальный элемент и меняет его с элементом A.

Поиск максимального элемента массива (нужны комментарии) - C++
Объясните как работает каждая строка. написать программу поиска максимального элемента массива. Поиск оформить в виде функции. Основная...

4
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
05.04.2012, 19:10 #2
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
#include <iostream>
#include <time.h>
using namespace std;
int search(int *array,int max_number, int current_index,int size)
{
 int temp=0;
 if (array[current_index]>max_number) { temp=current_index; max_number=array[current_index]; }
 if (current_index==size-1) return temp;
 int temp2=search(array,max_number,current_index+1,size);
 if (temp<temp2) return temp2; else return temp;
}
 
int main()
{
 cout<<"Enter size of array: ";
 int N;
 cin>>N;
 int *a=new int[N];
 srand(time(NULL));
 for (int i=0;i<N;i++) 
  { 
   a[i]=rand()%100;
   cout<<a[i]<<" ";
  }
 int max_index=search(a,a[0],1,N);
 cout<<"\nMaximum element a["<<max_index<<"]="<<a[max_index]<<endl;
 system("pause");
 delete [] a;
 return 0;
}
Вроде пашет, но наверное можно красивее это написать, не люблю рекурсии
1
baboo
3 / 3 / 1
Регистрация: 05.04.2012
Сообщений: 9
05.04.2012, 23:23 #3
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
33
34
35
36
37
38
39
#include <iostream>
#include <time.h>
using namespace std;
 
int search( int *array, int array_size )
{
    static int maxVal = 0;
    static int currIndex = 0;
    static int memIndex = 0;
 
    if( array_size ) {
        if( *array > maxVal ) {
            maxVal = *array;
            memIndex = currIndex;
        }
        currIndex++;
        return search( ++array, --array_size );
    }
    return memIndex;
}
 
void main()
{
    cout << "Enter size of array: ";
    int arraySize;
    cin >> arraySize;
    int *myArray = new int[ arraySize];
    srand( time(NULL) );
 
    for( int i = 0; i < arraySize; i++ ) 
    { 
        myArray[ i] = rand() % 100;
        cout << myArray[ i] << " ";
    }
    int foundIndex = search( myArray, arraySize );
    cout<<"Index of max elemet is "<< foundIndex << endl;
    cout<<"Value of max elemet is "<< myArray[ foundIndex] << endl;
    system("pause");
}
1
ERZ19
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 6
09.04.2012, 16:44  [ТС] #4
Спасибо!А без iostream ,простым способом можете?
0
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,848
09.04.2012, 17:00 #5
Цитата Сообщение от ERZ19 Посмотреть сообщение
простым способом можете?
А то!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int * max_element(const int * arr, const size_t size) {
    return ( size < 2 ) ? (int*)arr : ( *arr < *(arr + size - 1) ) ? max_element(arr + 1, size - 1) : max_element(arr, size - 1);
}
 
#define SIZE 5
 
int main(void){
    int arr[SIZE] = { 3, 1, 2, 5, 4 }, i;
    
    printf("Array: ");
    for ( i = 0; i < SIZE; ++i )
        printf("%d ", arr[i]);
    printf("\nMax element: %d\n", *max_element(arr, SIZE));
    
    return 0;
}
1
09.04.2012, 17:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2012, 17:00
Привет! Вот еще темы с ответами:

Подскажите ,как осуществить поиск максимального элемента массива - C++
Как считать информацию с файла? что тут не так? Что надо писать в текстовом документе? #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Найти сумму первого максимального элемента массива А и последнего минимального элемента массива В - C++
Вот задание : Даны целочисленные массивы А и В. Найти сумму первого максимального элемента массива А и последнего минимального элемента...

15% отличаются от среднего арифметического максимального элемента массива А и минимального элемента массива В - C++
Помогите написать программу, которая в массив C записывает те элементы массивов A (размерности n) и B (размерности m), которые не более чем...

Поиск максимального элемента - C++
Нужна сделать поиск максимального элемента массива путем деления пополам не через рекурсию, а через цикл. #include &lt;stdio.h&gt; ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru