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

Сравнение числа и 10 элементов массива - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
djgoggy
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 4
02.11.2010, 20:20     Сравнение числа и 10 элементов массива #1
В одномерном массиве состоящем из 10 целых случайных чисел от -5 до 5

надо найти:
количество элементов массива, которые меньше С
сумму целых частей элементов массива, расположенных после последнего отрицательного элемента

Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20 %, а потом все остальные
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2010, 20:20     Сравнение числа и 10 элементов массива
Посмотрите здесь:

C++ Сравнение заданного числа с числами массива
Сравнение элементов массива C++
C++ Сравнение элементов символьного массива
Три функции (ввод значений элементов массива, вывод, сравнение двух массивов) C++
C++ количество четных элементов одномерного массива до числа равному а, Определить количество нечетных элементов двумерного массива
Сравнение элементов двумерного динамического массива C++
C++ Сравнение элементов двумерного массива
C++ Сравнение элементов двумерного массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KpeHDeJIb
 Аватар для KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
02.11.2010, 21:10     Сравнение числа и 10 элементов массива #2
Мои 5 копеек

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
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
#include <cstdlib>
#include <ctime>
 
int Random()
{
    return rand() % 11 - 5;
}
 
void Print(int a)
{
    std::cout << a << std::endl;
}
 
struct Partition
{
    int max;
 
    Partition(int max): max(max) {}
 
    bool operator()(int num) const
    {
        num *= 10;
        return (num >= 8 * max) && (num <= 12 * max);
    }
};
 
int main()
{
    const unsigned size = 10;
    int c, count, sum, max;
 
    std::vector<int> array(size);
    std::vector<int>::reverse_iterator lastNegative;
 
    srand((unsigned)time(0));
    std::generate(array.begin(), array.end(), Random);
 
    std::cout << "Массив:" << std::endl;
    std::for_each(array.begin(), array.end(), Print);
 
    std::cout << "Введите C: ";
    std::cin >> c;
 
    count = (int)std::count_if(array.begin(), array.end(), std::bind2nd(std::less<int>(), c));
    std::cout << "Количество элементов меньше C: " << count << std::endl;
 
    lastNegative = std::find_if(array.rbegin(), array.rend(), std::bind2nd(std::less<int>(), 0));
    sum = std::accumulate(array.rbegin(), lastNegative, 0);
    std::cout << "Сумма элементов после последнего отрицательного: " << sum << std::endl;
 
    max = *std::max_element(array.begin(), array.end());
    std::cout << "Максимальный элемент массива: " << max << std::endl;
 
    std::partition(array.begin(), array.end(), Partition(max));
    std::cout << "Сортированный массив:" << std::endl;
    std::for_each(array.begin(), array.end(), Print);
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}
Yandex
Объявления
02.11.2010, 21:10     Сравнение числа и 10 элементов массива
Ответ Создать тему
Опции темы

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