Вставить заданное число в массив целых чисел перед последним четным элементом (если четные элементы есть) - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д