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

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

Войти
Регистрация
Восстановить пароль
 
tolik04
0 / 0 / 0
Регистрация: 29.10.2009
Сообщений: 7
17.11.2009, 15:08     Одномерные массивы #1
Помогите плз если не трудно)
В одномерном массиве состоящем из n вещественых элементов вычислить:
1) Количество элементов меньше С
2) Сумму целых частей элементов массива расположенных после последнего отрицательного.
Преоброзовать массив таким образом чтобы сначала распологались все элементы, отличающиеся от максимального не более чем на 20% а потом все остальные!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2009, 15:08     Одномерные массивы
Посмотрите здесь:

одномерные массивы C++
C++ одномерные массивы
Одномерные массивы C++
Одномерные массивы в Си++ C++
C++ Одномерные массивы
одномерные массивы C++
Одномерные массивы C++
C++ Одномерные массивы:
C++ Одномерные массивы
Одномерные массивы C++
C++ Одномерные массивы
C++ Одномерные массивы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
17.11.2009, 15:33     Одномерные массивы #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
#include <vector>
#include <numeric>
#include <iostream>
#include <algorithm>
#include <functional>
 
int main() {
 
    double a[] = {1.2, 3.2, 0.2, 5.5, 6.1, -2.0, 1.0 , 1.5, 1.9};
    std::vector<double> arr(a, a + sizeof(a)/sizeof(a[0]));
 
    //1) Количество элементов меньше С
    double c;
    std::cout << "Input c: " << std::endl;
    std::cin >> c;
 
    std::cout << count_if(arr.begin(), arr.end(), std::bind2nd(std::less<double>(), c)) 
        << std::endl;
 
    //2) Сумму целых частей элементов массива расположенных после последнего отрицательного.
    std::vector<double>::reverse_iterator 
        last = find_if(arr.rbegin(), arr.rend(), std::bind2nd(std::less<double>(), 0));
    std::cout << accumulate(arr.rbegin(), last, 0, std::plus<int>()) << std::endl;
 
    //Преоброзовать массив таким образом чтобы сначала распологались все элементы, 
    //отличающиеся от максимального не более чем на 20% а потом все остальные!
    std::sort(arr.begin(), arr.end(), std::greater<double>());
    std::copy(arr.begin(), arr.end(), std::ostream_iterator<double>(std::cout, " "));
 
    std::cout << '\n';
    return 0;
}
Yandex
Объявления
17.11.2009, 15:33     Одномерные массивы
Ответ Создать тему
Опции темы

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