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

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

Войти
Регистрация
Восстановить пароль
 
TYMON
9 / 9 / 1
Регистрация: 17.06.2010
Сообщений: 353
#1

Замена первого максимального элемента в одномерном массиве на 0 - C++

17.06.2010, 22:50. Просмотров 586. Ответов 7
Метки нет (Все метки)

Помогите пожалуйста! Дан одномерный массив, заполнен рандомно. Среди элементов несколько максимальных. Нужно заменить первый максимальный элемент на 0. как заменить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2010, 22:50     Замена первого максимального элемента в одномерном массиве на 0
Посмотрите здесь:

C++ В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива
Поиск максимального и минимального элемента в одномерном динамическом массиве C++
C++ В одномерном массиве вычислить сумму элементов, расположенных после максимального элемента
C++ В одномерном массиве вычислить номер максимального элемента массива и сумму элементов массива, расположенных после первого положительного
В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива C++
Шаблоны функций. В одномерном массиве, состоящем из n вещественных элементов, вычислить номер максимального по модулю элемента массива C++
Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего заданного числа Т C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
17.06.2010, 22:52     Замена первого максимального элемента в одномерном массиве на 0 #2
Как заменить?
C++
1
MAS[i]=0;
Вот мы заменили элемент с индексом i нулем.
TYMON
9 / 9 / 1
Регистрация: 17.06.2010
Сообщений: 353
17.06.2010, 22:53  [ТС]     Замена первого максимального элемента в одномерном массиве на 0 #3
так а если массив 1 2 3 5 6 4 3 6? нужно первую 6 на ноль заменить. хотя бы скажите как определить её номер ведь два максимальных а мне нужно по порядку первую заменить
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
17.06.2010, 22:59     Замена первого максимального элемента в одномерном массиве на 0 #4
C++
1
2
3
4
5
6
7
8
9
// MAS - массив, size - размер.
    int max=0;
    for (int i=0; i<size; i++) // ищем максимальный элемент.
        if (MAS[i]>max) max=MAS[i];
    
    for (int i=0; i<size; i++)
        if (MAS[i]==max) { // нашли? вышли из цикла.
            MAS[i]=0;
            break; }
TYMON
9 / 9 / 1
Регистрация: 17.06.2010
Сообщений: 353
17.06.2010, 23:10  [ТС]     Замена первого максимального элемента в одномерном массиве на 0 #5
а как вывести теперь этот же массив с замененым максимальным элементом?
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
17.06.2010, 23:11     Замена первого максимального элемента в одномерном массиве на 0 #6
Так же как и обычный.
C++
1
2
    for (int i=0; i<size; i++)
        std::cout << " " << MAS[i];
TYMON
9 / 9 / 1
Регистрация: 17.06.2010
Сообщений: 353
17.06.2010, 23:18  [ТС]     Замена первого максимального элемента в одномерном массиве на 0 #7
тю забыл про цикл при выводе) на ночь глядя притормаживаю. спасибо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2010, 23:38     Замена первого максимального элемента в одномерном массиве на 0
Еще ссылки по теме:

C++ В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента
C++ Вычисление максимального элемента в одномерном динамическом массиве
В массиве найти номер первого максимального элемента C++
C++ Разработать приложение поиска минимального и максимального элемента в одномерном массиве
Вычислить в одномерном массиве среднее арифметическое элеменов стоящих после первого элемента, большего 10 C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9439 / 5462 / 925
Регистрация: 25.07.2009
Сообщений: 10,481
17.06.2010, 23:38     Замена первого максимального элемента в одномерном массиве на 0 #8
Совсем недавно было точно такое же задание.
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
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iterator>
    
class RandNum {
    int limit;
public:
    RandNum(int lim) : limit(lim) {}
    int operator () () { return rand() % limit; }
};
    
int main(){
    const int SIZE = 10;
    int arr[SIZE];
    srand(time(NULL));
    std::generate_n(arr, SIZE, RandNum(100));
    std::cout << "\nArray:  ";
    std::copy(arr, arr + SIZE, std::ostream_iterator<int>(std::cout, " "));
    *(std::max_element(arr, arr + SIZE)) = 0;
    std::cout << "\nResult: ";
    std::copy(arr, arr + SIZE, std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
Yandex
Объявления
17.06.2010, 23:38     Замена первого максимального элемента в одномерном массиве на 0
Ответ Создать тему
Опции темы

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