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

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

Восстановить пароль Регистрация
 
filin1994
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 8
19.03.2013, 09:34     Массив: Переместить в массив Y все числа, дробная часть которых больше 5. #1
Помогите решить, вообще не понимаю как в С++ с дробной частью работать.

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

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом все остальные C++
Сформировать массив, содержащий только те элементы иззначального массива, значение которых больше заданного числа C++
C++ Одномерный массив. Вывести на экран все числа, индексы которых есть простые числа.
Не видна дробная часть числа C++
Найти количество элементов массива вещественных чисел, дробная часть которых равна 0,5 C++
C++ Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k
C++ Преобразовать массив: сначала расположить все элементы, целая часть которых не превышает 1, потом - остальные
Разделить дробное число на 2 части: целая часть числа и его дробная часть C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 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), " "));
Yandex
Объявления
19.03.2013, 10:56     Массив: Переместить в массив Y все числа, дробная часть которых больше 5.
Ответ Создать тему
Опции темы

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