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

Найти номера элементов, соответствующих максимальному значению - C++

Восстановить пароль Регистрация
 
Vif@
0 / 0 / 0
Регистрация: 20.05.2010
Сообщений: 16
13.10.2010, 09:54     Найти номера элементов, соответствующих максимальному значению #1
В одномерном массиве, состоящем из n вещественных элементов, найти номера элементов, соответствующих максимальному значению среди положительных элементов массива. Упорядочить элементы массива по возрастанию модулей элементов.
Помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 09:54     Найти номера элементов, соответствующих максимальному значению
Посмотрите здесь:

Найти номера индексов, соответствующих среднеарифметическому значению среди положительных элементов массива C++
Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех ее элементов. C++
Массив: Найти номера двух ближайших по значению элементов из этого массива и вывести их в порядке увеличения C++
C++ Сформировать массив С, каждый элемент которого равен максимальному значению соответствующих элементов массивов А и В
Сформировать массив С, каждый элемент которого равен максимальному значению соответствующих элементов массивов А и В C++
Даны двСформировать массив С, каждый элемент которого равен максимальному значению соответствующих элементов массивов А и В C++
Найти номера двух ближайших по значению элементов из введенного массива C++
C++ Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех элементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
13.10.2010, 10:12     Найти номера элементов, соответствующих максимальному значению #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
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
 
void numberMaxElems(double *mas, int *index, int n)
{
    double max;
    int maxCount;
    int i;
 
    for (i = 0, max = mas[0]; i < n; i++)
        if (mas[i] > max)
            max = mas[i];
 
    for (i = 0, maxCount = 0; i < n; i++)
        if (mas[i] == max)
            index[i] = 1;
}
 
void bubbleSort(double *mas, int n)
{
    double temp;
    int i, j;
 
    for (i = 0; i < n; i++)
    {
        for (j = n - 1; j > i; j--)
        {
            if (fabs(mas[j]) < fabs(mas[j - 1]))
            {
                temp = mas[j];
                mas[j] = mas[j - 1];
                mas[j - 1] = temp;
            }
        }
    }
}
 
int main()
{
    double *mas;
    int *index;
    int n;
    int i;
 
    printf("Enter n: ");
    scanf("%d", &n);
 
    mas = (double *)malloc(n * sizeof(double));
 
    for (i = 0; i < n; i++)
    {
        printf("mas[%d]: ", i);
        scanf("%lf", &mas[i]);
    }
 
    index = (int *)malloc(n * sizeof(int));
 
    for (i = 0; i < n; i++)
        index[i] = 0;
 
    numberMaxElems(mas, index, n);
 
    printf("\n\nIndex of max elems:\n\n");
 
    for (i = 0; i < n; i++)
        if (index[i] == 1)
            printf("%d  ", i);
 
    bubbleSort(mas, n);
 
    printf("\n\nSorted mas:\n\n");
 
    for (i = 0; i < n; i++)
        printf("%lf  ", mas[i]);
 
    free(mas);
    free(index);
 
    getch();
    return 0;
}
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
13.10.2010, 11:42     Найти номера элементов, соответствующих максимальному значению #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
#include <iostream>
#include <ctime> 
#include <algorithm> // sort(),max_element
#include<cmath> // fabs
using namespace std;
 
int main()
{
    srand(time(0));
    cout << "Enter n ";
    int n; cin >> n;
    double * Mas;
    Mas = new double[n];
    for(int i = 0;i < n;++i){
        Mas[i] = (rand()%20 / 1.1) - 10;
        cout << Mas[i] << " ";
    }
    cout << endl << "Max element: " << *std::max_element(Mas,Mas+n) << endl; 
    cout << "Found at position: " << std::distance(Mas,(std::max_element(Mas,Mas+n))) << endl;
    for(int i = 0;i < n;i++)
        Mas[i] = fabs(Mas[i]); // получаем абсолютные значения
    std::sort(Mas,Mas+n); // потом сортируем
    cout << "Sorted: ";
    std::copy(Mas,Mas+n,std::ostream_iterator<double>(cout, " ")); // выводим на экран
 
system("pause");
}
Yandex
Объявления
13.10.2010, 11:42     Найти номера элементов, соответствующих максимальному значению
Ответ Создать тему
Опции темы

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