Другие языки программирования и технологии

ПОМОГИТЕ ПОЖАЛУЙСТА, КТО ЗНАЕТ ИНФОРМАТИКУ. НУЖНО НАПИСАТЬ ПРОГРАММУ НА С++.

ПОМОГИТЕ ПОЖАЛУЙСТА, КТО ЗНАЕТ ИНФОРМАТИКУ.
НУЖНО НАПИСАТЬ ПРОГРАММУ НА С++.

ЗАДАНИЕ:

Составить функцию, которая получив массив N действительных чисел, создает новый массив, записывая в него только нецелые элементы в порядке, обратном их следованию в исходном массиве.
#include "iostream"

using namespace std; int main()

{ int l,m=0,n; cout << "n = ?\b"; cin >> n; double a[n],b[n]; cout << "> "; for (l=0; l < n; l++) cin >> a[l]; for (l=n-1; l >= 0; l--) if

(a[l]!=(int)a[l]) { b[m]=a[l]; m++; } for (l=0;

l <= m; l++) cout << b[l] << ' '; }
Максим Иванов
Максим Иванов
28 648
Лучший ответ
Александр Соколов я как то давно накололся на сравнении вещественных чисел, с тех пор не сравниваю ни напрямую ни через приведение к целым
Михаил Дацковский как исправить ошибку?: (
компилятор выдает что выражение должно иметь константное значение и выражение не определяется константой
и тип массива дубл н явл-ся неназначаемым?
vector inV;
vector outV;
double in;
while (cin >> in) inV.push_back(in); // ввод чисел
// основной алгоритм - копирование целых чисел (modf == 0) с конца входного вектора
copy_if(inV.cbegin(), inV.cend(), back_inserter(outV), [](double in) {return modf(in, &in) == 0.0;} );
for (auto &n: outV) std::cout << n << " " ; // вывод на экран
JA
Jiro Adamyan
25 445