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