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

Дана последовательность из n действительных чисел. найти номер первого максимального элемента. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Мария55593
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 73
23.02.2012, 21:43     Дана последовательность из n действительных чисел. найти номер первого максимального элемента. #1
помогите пожалуйста составить программу!!!
Дана последовательность из n действительных чисел.
найти номер первого максимального элемента.
замечание:задачу решить, используя одномерный массив.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 21:43     Дана последовательность из n действительных чисел. найти номер первого максимального элемента.
Посмотрите здесь:

Найти номер последнего максимального элемента среди элементов, лежащих в диапазоне [c,d] и расположенных до первого четного элемента. C++
найти номер первого максимального элемента C++
Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего Т. C++
Дана последовательность из n целых чисел. Найти номер минимального элемента в этой последовательности. C++
Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего заданного числа Т C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
23.02.2012, 21:52     Дана последовательность из n действительных чисел. найти номер первого максимального элемента. #2
Это как - первый максимальный элемент? Он же по идее должен быть один. Может просто номер максимального элемента?
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
23.02.2012, 21:57     Дана последовательность из n действительных чисел. найти номер первого максимального элемента. #3
Цитата Сообщение от Devochka Посмотреть сообщение
Это как - первый максимальный элемент?
Ну, например, дан массив!

0 1 5 4 5 3 5

В нем максимальный элемент 5, их таких пятерок аж 3, нужно узнать номер первой 5.

если считать что нумерация начинаеться с нуля, то тогда:

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
#include "iostream"
#include "time.h"
 
using namespace std;
 
 
int main()
{
    setlocale(0, "");
    int mas[100] = {0};
    int n, max, maxi;
 
    srand(time(0));
    cout << "Введите размер массива - ";
    cin >> n;
 
    cout << "\nОдномерный массив:\n";
    for(int i = 0; i < n; i++)
    {
        cout << (mas[i] = rand() % 10) << " ";
    }
 
    max = mas[0];
    for(int i = 0; i < n; i++)
    {
        if(mas[i] > max)
        {
            max = mas[i];
            maxi = i;
        }
    }
    
    cout << "\nНомер первого максимального элемента - " << maxi << endl;
 
    system("pause >> null");
    return 0;
}
если с единицы то

замени

C++
1
cout << "\nНомер первого максимального элемента - " << maxi << endl;
на

C++
1
cout << "\nНомер первого максимального элемента - " << maxi + 1<< endl;
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
23.02.2012, 22:00     Дана последовательность из n действительных чисел. найти номер первого максимального элемента. #4
Это если нужен индекс :
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
# include <iostream>
#include <ctime>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    srand (time(0));
 
    const int n = 5;
    int Massiv [n];
    
    for (int i = 0; i < n; i++) // заполнение массива
        Massiv [i] = rand() % 201;
    
    cout << "Наш массив :\n" << endl;
    for (int i = 0; i < n; i++) // вывод массива на экран
        cout << Massiv [i] << '\t';
    cout << endl;
    
    int max = 0;
    for (int i = 0; i < n; i++) // находим максимум
    {
        for (int j = 0; j < n; j++)
        {
            max = (max > Massiv [i]) ? max : Massiv [i];
        }
    }
 
    for (int i = 0; i < n; i++) // находим место максимума
    {
        if (max == Massiv [i])
            cout << "Индекс максимума - " << i; 
    }
    cout << endl;
    
    return 0;
}
А если нужна позиция на экране, то в строчке, где мы выводим индекс пишешь : i +1.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
23.02.2012, 22:02     Дана последовательность из n действительных чисел. найти номер первого максимального элемента. #5
Цитата Сообщение от Devochka Посмотреть сообщение
если нужен индекс
Ну я думаю что ТС это и имел ввиду!!)
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
23.02.2012, 22:06     Дана последовательность из n действительных чисел. найти номер первого максимального элемента. #6
Infinity3000, спасибо за объяснение. Только что проверила свою программу на более маленьком диапазоне. У меня выведутся все максимумы. Если нетрудно, подскажите, что можно исправить в моей программе, чтобы она работала корректно. Самой интересно.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
23.02.2012, 22:26     Дана последовательность из n действительных чисел. найти номер первого максимального элемента. #7
Цитата Сообщение от Devochka Посмотреть сообщение
Если нетрудно, подскажите, что можно исправить в моей программе, чтобы она работала корректно. Самой интересно.
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
# include <iostream>
#include <ctime>
using namespace std;
 
int main()
{
        setlocale(LC_ALL, "Russian");
        srand (time(0));
 
        const int n = 5;
        int Massiv [n];
        int maxi;
        int max;
        
        for (int i = 0; i < n; i++) // заполнение массива
                Massiv [i] = rand() % 201;
        
        cout << "Наш массив :\n" << endl;
        for (int i = 0; i < n; i++) // вывод массива на экран
                cout << Massiv [i] << '\t';
        cout << endl;
        
        max = Massiv[0];
        for (int i = 0; i < n; i++) // находим максимум
        {
            if(Massiv[i] > max)
            {
                max = Massiv[i];
                maxi = i;   
            }
            
 
        }
 
        cout << "\nНомер первого максимального элемента - " << maxi << endl;     
        system("pause >> null");
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2012, 23:09     Дана последовательность из n действительных чисел. найти номер первого максимального элемента.
Еще ссылки по теме:

Найти номер первого максимального элемента C++
Дана последовательность из n действительных чисел. Найти номер первого минимального элемента C++
В массиве найти номер первого максимального элемента C++

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

Или воспользуйтесь поиском по форуму:
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
23.02.2012, 23:09     Дана последовательность из n действительных чисел. найти номер первого максимального элемента. #8
Infinity3000, спасибо. Поняла.)
Yandex
Объявления
23.02.2012, 23:09     Дана последовательность из n действительных чисел. найти номер первого максимального элемента.
Ответ Создать тему
Опции темы

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