ИЩЕ6
26.04.2020 10:36

Язык С++ Ввести одномерный массив вещественных чисел. Если все элементы исходного массива, имеющие целое значение стоят на четных местах, то создать новый массив, записав в него только целые элементы исходного массива в обратном порядке.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
g89546546354245
02.09.2021 14:40

#include <stdio.h>

#include <math.h>

float eps = 0.000001;

int main()

{

float n; scanf("%f", &n);

float a[n];

for (int i=0;i<n;i++)

scanf("%f", a[i]);

char toCopy = 1;

for (int i=1;i<n;i+=2)

if (abs(round(a[i]) - a[i]) > eps)

{toCopy = 0; break;}

if (toCopy)

int b[n/2];

for (int i=n-(n%2), j=0;j<n/2;i-=2, j++)

b[j] = (int)a[i];

}

Объяснение:

Предполагаю, что сначала указывается количество элементов исходного массива. Далее происходит все то, что вы описали. eps - погрешность для определения целого числа, чем оно меньше - тем точнее числа будут определяться как дробные

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота