#include #include #define NUM_ELEMENTS 10 int arr[NUM_ELEMENTS] = { 7, 3, 6, 1, 9, 5, 2, 4, 8 }; // Исходный массив для примера int n = 9; void printElements() { printf("< "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf(">\n"); } void addElement(int value) { arr[n++] = value; } void keyboardInput() { printf("n = "); scanf_s("%d", &n); printf("input %d vales: ", n); for (int i = 0; i < n; i++) { scanf_s("&d", &arr[i]); } printElements(); } void oddsX10() { for (int i = 0; i < n; i++) { if (arr[i] % 2 != 0) { arr[i] = arr[i] * 10; } } } void odds() { int lastIn = -1; for (int i = 0; i < n; i++) { if (arr[i] % 2 != 0) { lastIn = i; } } if (lastIn != -1) { n++; for (int i = n - 1; i > lastIn + 1; i--) { arr[i] = arr[i - 1]; } arr[lastIn + 1] = 0; printElements(); } } int findMin() { int min = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] < min) { min = arr[i]; } } return min; } int tenElement() { int count = 0; for (int i = 0; i < n; i++) { if (arr[i] > 10) { count++; } } return count; } int findLastEven() { for (int i = n - 1; i >= 0; i--) { if (arr[i] % 2 == 0) { return i; } } return -1; } int findIndexMin() { int minIndex = 0; for (int i = 1; i < n; i++) { if (arr[i] < arr[minIndex]) { minIndex = i; } } return minIndex; } void negateEvenElements() { for (int i = 0; i < n; i++) { if (arr[i] % 2 == 0) { arr[i] = arr[i] * -1; } } printf("Массив после умножения четных элементов на -1: "); printElements(); } void replaceLessThanFour() { for (int i = 0; i < n; i++) { if (arr[i] < 4) { arr[i] = 4; } } printf("Массив после замены значений < 4 на 4: "); printElements(); } int findIndexMax() { int maxIndex = 0; for (int i = 1; i < n; i++) { if (arr[i] > arr[maxIndex]) { maxIndex = i; } } return maxIndex; } void replaceBeforeMaxWithZero() { int maxIndex = findIndexMax(); for (int i = 0; i < maxIndex; i++) { arr[i] = 0; } printf("Массив после замены элементов перед максимальным на 0: "); printElements(); } void deleteElement(int index) { if (index < 0 || index >= n) { printf("Неверный индекс!\n"); return; } for (int i = index; i < n - 1; i++) { arr[i] = arr[i + 1]; } n--; printf("Массив после удаления элемента на индексе %d: ", index); printElements(); } void insertElement(int index, int value) { if (index < 0 || index >= n || n >= NUM_ELEMENTS) { printf("Неверный индекс!\n"); return; } for (int i = n; i > index; i--) { arr[i] = arr[i - 1]; } arr[index] = value; n++; printf("Массив после вставки элемента %d на индекс %d: ", value, index); printElements(); } void main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int item; do { printf("\n"); printf("------------------------------\n"); printf("Содержимое массива:"); printElements(); printf("Выберите нужную вам операцию:\n"); printf("1: Ввести с клавиатуры массив\n"); printf("2: x10 для всех нечетных элементов\n"); printf("3: Найти минимальный элемент\n"); printf("4: Сколько элементов > 10 \n"); printf("5: Удвоение последнего четного элемента\n"); printf("6: Сколько четных левее минимального\n"); printf("7: Все четные элементы массива умножить на -1\n"); printf("8: Массив после замены значений < 4 на 4\n"); printf("9: Массив после замены элементов перед максимальным на 0\n"); printf("10: Удаление элемента по идексу\n"); printf("11: Добавление элемента по индексу\n"); printf("12: Удаление минимального элемента\n"); printf("13: 0 перед минимальным элемментом\n"); printf("14: После последнего нечетного элемента вставить 0\n"); printf("\n"); printf("0: Выйти из программы\n"); printf("Выбранная операция >>>>>> "); scanf_s("%d", &item); switch (item) { case 1: keyboardInput(); break; case 2: oddsX10(); break; case 3: { int min = findMin(); printf("min = %d\n", min); } break; case 4: { int count = tenElement(); printf("Элементов больше 10: %d\n", count); } break; case 5: { int index = findLastEven(); if (index >= 0) { arr[index] *= 2; printf("Последний четный элемент удвоен: %d\n", arr[index]); } else { printf("Четных элементов в массиве нет.\n"); } } break; case 6:{ int index = findIndexMin(); printf("Индекс минимального элемента = %d\n", index); int cnt = 0; for (int i = 0; i < index; i++) { if (arr[i] % 2 == 0) { cnt++; } } printf("Левее минимального %d четных элементов\n", cnt); } break; case 7: negateEvenElements(); break; case 8: replaceLessThanFour(); break; case 9: replaceBeforeMaxWithZero(); break; case 10: { int index; printf("Введите элемент для удаления: "); scanf_s("%d", &index); deleteElement(index); break; } case 11: { printf("Индекс: "); int index; scanf_s("%d", &index); printf("Значение, которое нужно вставвить: "); int value; scanf_s("%d", &value); insertElement(index, value); } break; case 12: { int minIndex = findIndexMin(); printf("Минимальный элемент: %d\n", arr[minIndex]); deleteElement(minIndex); printElements(); } break; case 13: { int Indexmin = findIndexMin(); printf("Индекс минимального элемента = %d\n", Indexmin); insertElement(Indexmin, 0); } break; case 14: odds(); break; } } while (item != 0); }