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

В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. - C++

Восстановить пароль Регистрация
 
Маша Болдина
2 / 2 / 0
Регистрация: 15.02.2012
Сообщений: 56
08.04.2012, 22:20     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. #1
Даны действительные числа а1,…,an, b1,…,bm.
В последовательности а1, ..., an и в последовательности
b1,…,bm все члены, следующие за членом с наибольшим
значением (за первым по порядку, если их несколько),
заменить на 0.5.
Прошу решить на С++))Спасибо большое!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2012, 22:20     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5.
Посмотрите здесь:

Все элементы с наибольшим значением в целочисленной квадратной матрице порядка 10 заменить нулями C++
C++ Заменить в массиве все отрицательные элементы средним арифметическим значением всех положительных, вывести оба массива
Функции на С: в последовательностях все члены, следующие за членом с наибольшим значением, заменить на 0,5 C++
C++ Заменить в каждой строке элементы с наибольшим значением нулём
C++ В заданном массиве Х(N) замените нулями все отрицательные компоненты, непосредственно предшествующие его максимальной компоненте (первой по порядку, если их несколько)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
08.04.2012, 23:47     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. #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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <cmath>
#include <cstdlib>
#include <ctime>
 
class RealRand {
    double top;
public:
    RealRand(double t) : top(t) {}
    double operator () () { return top * fabs(sin(rand())); }
};
 
int main(){
    const double TOP_VALUE(10.0);
    const double DEF_VALUE(0.5);
    
    srand(time(0));
    
    const size_t N(10);
    double a[N];
    std::generate_n(a, N, RealRand(TOP_VALUE));
    std::copy(a, a + N, std::ostream_iterator<double>(std::cout, " "));
    std::cout << std::endl;
    double * pMaxA = (double*)std::max_element(a, a + N);
    std::fill_n(pMaxA + 1, N - (pMaxA - a + 1), DEF_VALUE);
    std::copy(a, a + N, std::ostream_iterator<double>(std::cout, " "));
    std::cout << std::endl;
    
    std::cout << std::endl;
    
    const size_t M(8);
    double b[M];
    std::generate_n(b, M, RealRand(TOP_VALUE));
    std::copy(b, b + M, std::ostream_iterator<double>(std::cout, " "));
    std::cout << std::endl;
    double * pMaxB = (double*)std::max_element(b, b + M);
    std::fill_n(pMaxB + 1, M - (pMaxB - b + 1), DEF_VALUE);
    std::copy(b, b + M, std::ostream_iterator<double>(std::cout, " "));
    std::cout << std::endl;
    
    return 0;
}
Маша Болдина
2 / 2 / 0
Регистрация: 15.02.2012
Сообщений: 56
09.04.2012, 11:01  [ТС]     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. #3
мы должны сами вводить значения, а программа сразу выдает последовательности. Пожалуйста не могли бы пересмотреть. И программа как-то сложно написана, я совсем не понимаю код.Спасибо заранее.
Маша Болдина
2 / 2 / 0
Регистрация: 15.02.2012
Сообщений: 56
11.04.2012, 20:23  [ТС]     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. #4
помогите пожалуйста программа не работает никак.
streLok91
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 6
15.04.2012, 19:55     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. #5
а можно эту же задачку но для Turbo Basic?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.04.2012, 20:56     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. #6
Цитата Сообщение от Маша Болдина Посмотреть сообщение
помогите пожалуйста программа не работает никак.
Нормально она работает
http://codepad.org/CsPdJwDX

Цитата Сообщение от streLok91 Посмотреть сообщение
а можно эту же задачку но для Turbo Basic?
Можно. В соответствующем разделе http://www.cyberforum.ru/basic/
cicky
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 4
06.06.2012, 19:44     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. #7
Можете помочь с Этой же задачей только в Паскале?!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2012, 20:27     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5.
Еще ссылки по теме:

C++ В массиве заменить все элементы, следующие за наименьшим элементом, единицами (найти ошибку)
Все элементы с наибольшим по модулю значением в целочисленной квадратной матрице заменить нулями C++
Все элементы с наибольшим значением в данной матрице заменить нулями C++

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

Или воспользуйтесь поиском по форуму:
magirus
Супер-модератор
 Аватар для magirus
25495 / 14036 / 742
Регистрация: 15.09.2009
Сообщений: 59,763
Записей в блоге: 61
06.06.2012, 20:27     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. #8
cicky, это для кого было писано:
Цитата Сообщение от easybudda Посмотреть сообщение
Можно. В соответствующем разделе
Yandex
Объявления
06.06.2012, 20:27     В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5.
Ответ Создать тему
Опции темы

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