#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 - погрешность для определения целого числа, чем оно меньше - тем точнее числа будут определяться как дробные
Поделитесь своими знаниями, ответьте на вопрос:
30 1. составьте логическое условие, которое истинно только тогда, когда данное число-натуральное. 2. составьте логическое условие, которое истинно только тогда, когда из трех введенных чисел хотя бы одно четное и хотя бы одно-нечетное. 3. составьте логическое условие, которое истинно только тогда, когда хотя бы одно из трех чисел больше нуля. 4. дана последовательность целых чисел a, b, с. найдите разность между максимальным и минимальным значениями.
2. Если честно, не знаю как правильно реализовать
3. if (a>0) or (b>0) or (c>0) then...
4. if (a>b) and (b>c) then d:=a+c
if (a>b) and (c>b) and (a>c) then d:=a+b
if (b>a) and (a>c) then d:=b+c
Вроде так, но все равно проверь))