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

Одномерный массив - C++

Восстановить пароль Регистрация
 
xexe73
1 / 1 / 0
Регистрация: 27.09.2012
Сообщений: 22
21.11.2012, 11:30     Одномерный массив #1
1.Найти кол-во элементов массива,больших С.
2.Найти произведение элементов массива,расположенных после максимального по модулю элемента.
3.Преобразовать массив,чтобы сначала располагались все отрицательные потом все положительные элементы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 11:30     Одномерный массив
Посмотрите здесь:

C++ Одномерный массив
Одномерный массив C++
C++ одномерный массив
одномерный массив C++
Одномерный массив C++
C++ Одномерный массив
C++ Одномерный массив
[C++] Одномерный массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
21.11.2012, 12: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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
1.Найти кол-во элементов массива,больших С.
2.Найти произведение элементов массива,расположенных
  после максимального по модулю элемента.
3.Преобразовать массив,чтобы сначала располагались все
  отрицательные потом все положительные элементы.
*/
 
#include <iostream>
#include <algorithm>
#include <numeric>
#include <math.h>
#include <stdlib.h>
 
int getRand(void) { return rand() % 100 - 50; }
bool AbsCompare(int A, int B) { return abs(A) < abs(B); }
 
int main(void)
{
    setlocale(0, "rus");
 
    const int N = 10;
    int A[N];
    std::generate(A, A + N, getRand);
    std::cout << "Исходный массив: ";
    std::copy(A, A + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    // 1.Найти кол-во элементов массива,больших С.
    std::cout << std::endl;
    int C;
    std::cout << "Введите С: ";
    std::cin >> C;
    int GreaterThanC = std::count_if(A, A + N, std::bind2nd(std::greater<int>(), C));
    std::cout << "Кол-во элементов массива, больших С: " << GreaterThanC << std::endl;
    // 2.Найти произведение элементов массива,расположенных
    //   после максимального по модулю элемента.
    int * AbsMax = std::max_element(A, A + N, AbsCompare);
    int AfterMaxAcc = (AbsMax != A + N) ? std::accumulate(AbsMax + 1, A + N, 1, std::multiplies<int>()) : 0;
    std::cout << "Максимальный по модулю элемент: " << *AbsMax << std::endl;
    std::cout << "Произведение элементов после него: " << AfterMaxAcc << std::endl;
    // 3.Преобразовать массив,чтобы сначала располагались все
    //   отрицательные потом все положительные элементы.
    std::partition(A, A + N, std::bind2nd(std::less<int>(), 0));
    std::cout << "Преобразованный массив: ";
    std::copy(A, A + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl << std::endl;
    system("pause");
}
Yandex
Объявления
21.11.2012, 12:26     Одномерный массив
Ответ Создать тему
Опции темы

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