Вывести элементы массива с нечетными номерами в порядке убывания номеров - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан массив A размера N (N — нечетное число). Вывести его элементы с нечетными номерами в порядке убывания номеров: AN, AN−2, AN−4, ..., A1. Условный оператор не использовать. Мой код :
Листинг программы
  1. int n;
  2. int n;
  3. printf("Введите размер массива(только нечётное число) :");
  4. scanf("%d",&n);
  5. int a[n];
  6. for(int i=0;i<n;i++)
  7. {
  8. scanf("%d",&a[i]);
  9. }
  10.  
  11. for(int i=n;i>=1;i=i-2)
  12. {
  13. if((i%2)!=0)
  14. printf("%d\n",a[i]);
  15. }
  16.  
  17. }
Просто не понимаю почему код не работает. Компилятор ошибку не выдаёт, но выводит совсем другое.

Решение задачи: «Вывести элементы массива с нечетными номерами в порядке убывания номеров»

textual
Листинг программы
  1. for(int i=n-1;i>-1;i-=2)
  2.       {
  3.         if((i%2)==0)
  4.             printf("%d\n",a[i]);
  5.       }

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. В переменной n хранится размер массива a.
  2. В цикле for с переменной i инициирующейся значением n-1 и выполняющейся до тех пор, пока i больше нуля, выполняется следующее:
  3. Условие if проверяет, является ли i четным числом.
  4. Если условие if истинно, то есть i является четным числом, то выводится элемент массива a с индексом i с помощью функции printf.
  5. После каждой итерации цикла i уменьшается на 2. В результате выполнения данного кода будут выведены элементы массива a с нечетными номерами в порядке убывания номеров.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы