Вставить заданное число в массив целых чисел перед последним четным элементом (если четные элементы есть) - C (СИ)

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

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

Вставить заданное число в массив целых чисел перед последним четным элементом (если четные элементы есть). Под вставкой числа n в массив после k-го элемента понимается смещение всех элементов, начиная с (k+1)-го вправо на 1 позицию, и присваивание (k+1)-му элементу массива значения n. Помогите пожалуйста, срочно нужно сдать, а как это сделать толком не пойму. Заранее спасибо.

Решение задачи: «Вставить заданное число в массив целых чисел перед последним четным элементом (если четные элементы есть)»

textual
Листинг программы
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int MAX = 10, z = 1, m = 0, mas[20]{ 2, 4, 7, 0, 3, 9, 6, 8, 1, 5 };
  5.     while (MAX < 19) // Не более величины массива.
  6.     {
  7.         scanf("%d", &z);
  8.         for (int i = 0; i < MAX; ++i)
  9.             if (!(*(mas + i) % 2))  // Ищем последнее четное.
  10.                 m = i;
  11.         if (m < MAX && m) // Двигаем массив и записываем,
  12.         {                           // если четное не в самом конце и вообще есть.
  13.             for (int i = MAX++; i >= m; --i)
  14.                 *(mas + i + 1) = *(mas + i);
  15.             *(mas + m) = z;
  16.         }          
  17.         else
  18.             *(mas + ++MAX) = z; // Иначе записываем в конец.       
  19.         for (int i = 0; i < MAX; ++i)
  20.             if (i != m)
  21.                 printf("%d\n", *(mas + i));
  22.             else
  23.                 printf("    %d\n", *(mas + i)); // Выделяем записанное число.
  24.         m = 0;
  25.     }
  26.     return 0;
  27. }

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


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

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

15   голосов , оценка 4.2 из 5

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

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

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