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

Нахождение максимального элемента

02.12.2014, 17:04. Показов 1661. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, вот незадача, код написан, а работает не верно. Голову сломал что не так, может кто увидит - подскажет? За ранее спасибо.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <time.h>
#include <stdlib.h>
 
using namespace std;
 
int maxiter(int *arr, int n){   //Итерационный метод вычисления максимального элемента в массиве чисел
    int t = arr[0];
    for(int i = 0; i<n; ++i){
        if(arr[i]>t)
            t = arr[i];
    }
    return t;
}
 
int maxrec(int *arr, int i, int n, int &t){   //Рекурсивный метод вычисления максимального элемента в массиве чисел
    if(arr[i]>t)
        t = arr[i];
    if(i+1<n)
        maxrec(arr, i+1, n, t);
    else
        return t;
}
 
int maxRiV(int *arr, int l, int r){         //Метод "Разделяй и властвуй"
    if(l == r)
        return arr[l];
    int m = (l+r)/2;
    int u = maxRiV (arr, l, m) ;
    int v = maxRiV (arr, m+1, r) ;
    if (u > v)
        return u;
    else
        return v;
}
 
int main(){
    int n = 0, st = 0, end = 0, tim = 0;
    cout<<"Vvedite razmer massiva n"<<endl;
    cin>>n;
    int *arr = new int[n];
    for(int i = 0; i<n; ++i){
        arr[i] = 1+rand()%99;
        srand(rand()*clock());
        cout<<arr[i]<<" ";
    }
    st = clock();
    cout<<endl<<"Max element (iter metod) = "<<maxiter(arr,n)<<endl;   //вызов итерационного метода
    end = clock();
    tim = end - st;
    cout<<"Vremya vipolneniya = "<<tim<<" ms"<<endl;
 
    int t = arr[0];
    st = clock();
    cout<<endl<<"Max element (rek metod) = "<<maxrec(arr,0,n,t)<<endl;  //вызов рекурсивного метода
    end = clock();
    tim = end - st;
    cout<<"Vremya vipolneniya = "<<tim<<" ms"<<endl;
 
    cout<<endl<<"Max element (metod \"razdelyai i vlastvui\") = "<<maxRiV(arr,0,n)<<endl;  //вызов метода "Разделяй и властвуй"
    end = clock();
    tim = end - st;
    cout<<"Vremya vipolneniya = "<<tim<<" ms"<<endl;
 
    delete [] arr;
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2014, 17:04
Ответы с готовыми решениями:

Нахождение максимального элемента в массиве и его индекс (элемента)
Доброго времени суток. Вот исходный код поиска максимального элемента массива: #include&quot;stdafx.h&quot; ...

Нахождение максимального элемента списка
Есть код: // ConsoleApplication1.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include...

Нахождение максимального элемента в матрице
Нужно решить задачу и найти наибольший элемент. Подскажите, как сделать? НУЖНО РЕШИТЬ ЗАДАЧУ И НАЙТИ НАИБОЛЬШИЙ ЭЛЕМЕНТ!!! ПОДСКАЖИТЕ...

7
 Аватар для 4unkur
16 / 16 / 10
Регистрация: 16.06.2014
Сообщений: 180
02.12.2014, 17:13
Где именно ошибка?
0
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 47
02.12.2014, 17:31  [ТС]
В "Разделяй и властвуй" выдает не максимальный элемент массива..... Просто какое - то огромное число
Не умею картинки подгружать, показал бы скрин
0
 Аватар для 4unkur
16 / 16 / 10
Регистрация: 16.06.2014
Сообщений: 180
02.12.2014, 17:41
Цитата Сообщение от byhukutka Посмотреть сообщение
показал бы скрин
Я увидел. Такое случается при вводе n= 2,10,11 ... .
0
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 47
02.12.2014, 17:57  [ТС]
А в чем может быть дело?
0
 Аватар для 4unkur
16 / 16 / 10
Регистрация: 16.06.2014
Сообщений: 180
02.12.2014, 18:03
Цитата Сообщение от byhukutka Посмотреть сообщение
А в чем может быть дело?
Я не знаю этот метод нахождения максимума и сейчас мне надо идти кушать ))
У тебя есть Visual studio? Если есть, то там можно выполнять программы пошагово. Посмотри что там происходит. (Может быть такая функция есть и в других IDE, но я не знаю )
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
02.12.2014, 18:20
byhukutka, а обязательно таким извратом искать максимум?..
0
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 47
02.12.2014, 18:25  [ТС]
Обязательно надо искать методом Итераций, рекурсивным методом и методом "Разделяй и властвуй". Вот все что я смог придумать, можно это прописать иначе? Я просто не так давно изучаю C++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.12.2014, 18:25
Помогаю со студенческими работами здесь

Нахождение максимального элемента вектора
Задание, которое я выполнял:&quot;Создать файл из N целых чисел. Найти число, повторяющееся максимальное количество раз. Если таких чисел...

Нахождение максимального элемента матрицы
Написать программу для вывода наибольшего элемента матрицы С=(Сi j), і=1,2,... ,n; j=1,2,... ,m. Каждий элемент матрицы находиться при...

Матрицы,нахождение максимального и минимального элемента
Здравствуйте!Помогите пожалуйста с программой,по условию нужно найти максимальный и минимальный элемент матрицы и разместить их на первом и...

Нахождение максимального и минимального элемента в списке
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;windows.h&gt; using namespace std; void loadLib(); void...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru