В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Dimo558
Dimo558
30.03.2021 16:24 •  Информатика

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

Ответ:
pepka1
pepka1
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?