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

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

Войти
Регистрация
Восстановить пароль
 
filin1994
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 8
#1

Массив: Переместить в массив Y все числа, дробная часть которых больше 5. - C++

19.03.2013, 09:34. Просмотров 426. Ответов 2
Метки нет (Все метки)

Помогите решить, вообще не понимаю как в С++ с дробной частью работать.

Задан массив X(N) дробных чисел. Переместить в массив Y все числа, дробная часть которых больше 5. Вывести на экран абсолютные значения чисел, исходного массива X и значения массива Y после выполнения операций над ним.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 09:34     Массив: Переместить в массив Y все числа, дробная часть которых больше 5.
Посмотрите здесь:

необходимо найти количество элементов, дробная часть которых больше введенного числа k, |k\<1 - C++
до этого выполняется условие &quot;В одномерном массиве, состоящем из п вещественных элементов: - вычислить сумму элементов массива,...

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

Преобразовать массив, расположив в начале элементы, целая часть которых не превышает 1, а потом все остальные - C++
Ребята, выручайте очень нужно. 1.Найти количество положительных элементов массива. 2.Найти сумму элементов массива, расположенных...

Преобразовать массив: сначала расположить все элементы, целая часть которых не превышает 1, потом - остальные - C++
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом — все...

Преобразовать массив, чтобы сначала располагались все элементы, целая часть которых лежит в интервале - C++
С одномерным массивом, состоящим из n вещественных элементов, выполнить следующее: Преобразовать массив таким образом, чтобы сначала...

Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k - C++
Помогите плиз Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k. Вроде написала...

Сформировать массив, содержащий только те элементы иззначального массива, значение которых больше заданного числа - C++
Задан массив A из N элементов. Сформировать массив B, содержащий только те элементы массива A, значение которых больше заданного числа X....

Не видна дробная часть числа - C++
Поставил MVS 2012, возникла проблема - Не видна дробная часть числа! Пишу простой код : double a; a = 2/3; std::cout&lt;&lt;a; ...

Подсчитать и вывести на экран количество элементов массива: в которых дробная часть меньше 0,35 - C++
Объявить одномерный массив из 17 элементов типа double. Заполнить его случайными дробными (!) Значениями в диапазоне и вывести на экран....

Найти количество элементов массива вещественных чисел, дробная часть которых равна 0,5 - C++
Найти количество элементов массива вещественных чисел, дробная часть которых равна 0,5


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
19.03.2013, 10:15     Массив: Переместить в массив Y все числа, дробная часть которых больше 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
#include <functional>
#include <algorithm>
#include <iterator>
#include <iostream>
#include <iomanip>
#include <random>
#include <vector>
#include <ctime>
#include <cmath>
 
int main ()
{
    auto randomGeneration = std::bind(std::uniform_real_distribution <> (0, 10),
                                      std::mt19937 (time(nullptr)));
    std::vector <double> fVector (10);
    std::cout << "First vector: " << std::endl;
    std::generate(fVector.begin(), fVector.end(), randomGeneration);
    std::copy(fVector.begin(), fVector.end(), std::ostream_iterator <double> (std::cout << std::setprecision(2), "  "));
 
    double tempNumber;
    std::vector <double> sVector;
    for (auto currNum: fVector) {
        double fraction = modf(currNum, &tempNumber);
        if (fraction > 0.5)
            sVector.push_back(currNum);
    }
    std::cout << std::endl << "Second vector: " << std::endl;
    std::copy(sVector.begin(), sVector.end(), std::ostream_iterator <double> (std::cout << std::setprecision(2), "  "));
 
    return 0;
}
filin1994
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 8
19.03.2013, 10:56  [ТС]     Массив: Переместить в массив Y все числа, дробная часть которых больше 5. #3
а можно как нибудь по проще код написать, а то мы на занятиях такое не используем.

std::vector <double> fVector (10);
std::cout << "First vector: " << std::endl;
std::generate(fVector.begin(), fVector.end(), randomGeneration);
std::copy(fVector.begin(), fVector.end(), std::ostream_iterator <double> (std::cout << std::setprecision(2), " "));
Ответ Создать тему
Опции темы

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