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

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

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

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

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

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

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


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

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

15   голосов , оценка 4.2 из 5
Похожие ответы