Форум программистов, компьютерный форум CyberForum.ru

Найти максимальный элемент массива - C++

Восстановить пароль Регистрация
 
evolveUA
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 29
03.02.2014, 13:05     Найти максимальный элемент массива #1
Найти макс. элемент массива Х
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
#include "stdafx.h"
#include <cstdio>
#include <Windows.h>
 
void main()
{
    srand(GetTickCount());
 
    int i, j;
    int A_min, A_max;
    float rand_min, rand_max;
    float A[30], X[30];
 
    A_min = A_max = 0;
 
    printf_s("rand_min, rand_max: ");
    scanf_s("%f%f", &rand_min, &rand_max);
 
    A[0] = rand_min + (rand_max - rand_min) * rand() / RAND_MAX;
 
    for (i = 1; i < 30; i++)
    {
                A[i] = rand_min + (rand_max - rand_min) * rand() / RAND_MAX;
 
        if (A[i] < A[A_min])
            A_min = i;
 
        if (A[i] >= A[A_max])
            A_max = i;
 
        printf_s("%f\t", A[i]);
    }
 
    if (A_min > A_max)
    {
        printf_s("\n\nError!\n");
        return;
    }
 
    printf_s("\n\n\n");
 
    for (j = 0, i = A_min; i < A_max + 1; j++, i++)
    {
        X[j] = A[i];
        printf_s("%f\t", X[j]);
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
03.02.2014, 13:26     Найти максимальный элемент массива #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 <vector>
 
void find_max(std::vector <int>& m, int& max)
{
    for (int i = 0; i < m.size(); ++i)
    {
        if (max < m[i]) max = m[i];
    }
}
 
void main()
{
    std::vector <int> mas;
    for(int i = 0; i < 10; ++i)
    {
        mas.push_back(rand()%10);
        std::cout <<  mas[i];
    }
    std::cout << std::endl;
    for (int i = 0; i < mas.size(); ++i)
    {
        std::cout << mas[i];
    }
    std::cout << std::endl;
    int max = 0;
    find_max(mas, max);
    std::cout << max << std::endl;
    system("pause");
}
Вот. Переделайте под свои данные и будет счастье.

Добавлено через 47 секунд
А зачем два массива, если нужно найти максимальный элемент одного массива?
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
03.02.2014, 13:31     Найти максимальный элемент массива #3
evolveUA,
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include<vector>
#include<algorithm>
int main()
{
    std::vector <int> vec = {2,5,6,34,78,3,8,3,8};
    std::cout<<"Max = "<<*max_element(vec.begin(),vec.end());
    return 0;
}
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 246
03.02.2014, 13:32     Найти максимальный элемент массива #4
evolveUA,
Первый вариант
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
#include<conio.h>
#include<iostream>
#include<time.h>
using namespace std;
 
int main(){
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));
    const int N = 30;
    double max = -2000;
    double Mass[N];
    for (int i(0); i < N; i++){
        Mass[i] = 1000 - rand() % 2001;
        cout << "Mass[" << i << "] = " << Mass[i] << endl;
    }
    for (int i(0); i < N; i++)
        if (Mass[i] > max)
            max = Mass[i];
 
    cout << "Максимальный элемент массива: " << max;
    cout << "\n\nДля выхода нажмите любую клавишу...";
    _getch();
    return 0;
}

Второй вариант
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
#include<conio.h>
#include<iostream>
#include<time.h>
using namespace std;
 
int main(){
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));
    int N = 30;
    double max = -2000;
    cout << "Введите размер массива: ";
    cin >> N;
    double *Mass = new double[N];
    for (int i(0); i < N; i++){
        Mass[i] = 1000 - rand() % 2001;
        cout << "Mass[" << i << "] = " << Mass[i] << endl;
    }
    for (int i(0); i < N; i++)
        if (Mass[i] > max)
            max = Mass[i];
    cout << "Максимальный элемент массива: " << max;
    delete[] Mass;
    cout << "\n\nДля выхода нажмите любую клавишу...";
    _getch();
    return 0;
}
Aloir
 Аватар для Aloir
216 / 216 / 13
Регистрация: 17.12.2010
Сообщений: 688
03.02.2014, 13:36     Найти максимальный элемент массива #5
можно еще вот таак:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
 
 
bool myfunc(const int a,const int b)
{
    return a < b;
}
 
void main()
{
    const int n = 5;
    int mas[n]={3,5,-23,34,6};
    std::cout<<"Max element: "<< *(std::max_element(mas,mas+n,myfunc ));
    system("pause");
    return;
}
ps: или вам надо без stl?
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
03.02.2014, 13:44     Найти максимальный элемент массива #6
Aloir, Не проще? Зачем нужно было передавать функцию
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
    const int n = 5;
    int mas[n]={3,5,-23,34,6};
    std::cout<<"Max element: "<< *(std::max_element(mas,mas+n ));
    system("pause");
    return 0;
}
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
03.02.2014, 13:47     Найти максимальный элемент массива #7
Проще, но зависит от того, что нужно ТС. Ибо если это университетское задание какие-то, то вероятнее всего они не знаю эти методы.
evolveUA
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 29
03.02.2014, 14:06  [ТС]     Найти максимальный элемент массива #8
Это действительно университетское задание, получается так:
1) Получить новый массив Х из элементов расположенных между максимальным и минимальным элементами и вывести их в новый массив "Х";
2) Теперь мне нужно найти максимальный элемент нового массива.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2014, 14:36     Найти максимальный элемент массива
Еще ссылки по теме:

C++ Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
C++ найти максимальный элемент массива x(15) . переставить местами этот максимальный элемент с индексом 4
C++ Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр, а также найти максимальный элемент массива

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

Или воспользуйтесь поиском по форуму:
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 246
03.02.2014, 14:36     Найти максимальный элемент массива #9
evolveUA,
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
#include<conio.h>
#include<iostream>
#include<time.h>
using namespace std;
 
int main(){
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));
    const int N = 30;
    int a, b;
    double max, min, max2;
    double Mass[N];
    for (int i(0); i < N; i++){
        Mass[i] = 1000 - rand() % 2001;
        Mass[i] = 10 - rand() % 21;
        cout << "Mass[" << i << "] = " << Mass[i] << endl;
    }
    for (int i(0); i < N; i++){
        if (i == 0){
            max = Mass[0];
            min = Mass[0];
        }
        if (Mass[i] > max){
            max = Mass[i];
            b = i;
        }
        if (Mass[i] < min){
            min = Mass[i];
            a = i;
        }
    }
    if (a > b)
        swap(a, b);
    for (int i(a+1); i < b; i++){
        max2 = Mass[a+1];
        if (Mass[i] > max){
            max2 = Mass[i];
            b = i;
            }
    }
 
    cout << "Максимальный элемент массива: " << max << endl;
    cout << "Минимальный элемент массива: " << min << endl;
    cout << "Максимальный элемент между мин. и макс. элементами массива: " << max2 << endl;
    cout << "\n\nДля выхода нажмите любую клавишу...";
    _getch();
    return 0;
}
Yandex
Объявления
03.02.2014, 14:36     Найти максимальный элемент массива
Ответ Создать тему
Опции темы

Текущее время: 07:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru