#include #include #define NUM_ELEMENTS 10 int arr[NUM_ELEMENTS]; int n = 0; void printElements(); void keyboardInput(); void oddsX10(); int findMin(); int findMorethan10(); int findLastEven(); int findIndexMin(); void deleteElement(int delIndex); void insertElement(int insIndex, int value); int findFirstEven(); 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: Увеличить в 2 раза последний четный элемент\n"); printf("6: Сколько четных левее минимального\n"); printf("7: Все четные элементы массива умножить на -1\n"); printf("8: Все элементы массива имеющие значения меньше 4 заменить на 4\n"); printf("9: Все элементы, стоящие после минимального, заменить на 0\n"); printf("11: Удалить заданный элемент\n"); printf("12: Добавить элемент в i-ую позицию\n"); printf("13: Удалить минимальный элемент\n"); printf("14: Перед минимальным элементом вставить 0\n"); printf("15: После первого четного элемента вставить 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 mon = findMorethan10(); printf("mon = %d\n", mon); break; } case 5: { int index = findLastEven(); if (index >= 0) { arr[index] *= 2; } } 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; break; case 7: minusodin(); break; case 11: { printf("Индекс удаляемого элемента = "); int index; scanf_s("%d", &index); deleteElement(index); } break; case 12: { printf("Перед каким элементом нужно вставить новый? Индекс = "); int index; scanf_s("%d", &index); printf("Значение, которое нужно вставить = "); int value; scanf_s("%d", &value); insertElement(index, value); } break; case 13: { int min = findMin(); deleteElement(min); } break; case 14: { int indexMin = findIndexMin(); printf("Индекс минимального элемента = %d\n", indexMin); insertElement(indexMin, 0); } break; case 15: { int indexChet = findFirstEven(); printf("Индекс минимального элемента = %d\n", indexChet); insertElement(indexChet+1, 0); } break; } } while (item != 0); } void keyboardInput() { printf("n = "); scanf_s("%d", &n); printf("input %d values: ", n); for (int i = 0; i < n; i++) { scanf_s("%d", &arr[i]); } } void deleteElement(int delIndex) { for (int i = delIndex; i < n - 1; i++) { arr[i] = arr[i + 1]; } n--; } void insertElement(int insIndex, int value) { for (int i = n; i > insIndex; i--) { arr[i] = arr[i - 1]; } n++; arr[insIndex] = value; } void oddsX10() { for (int i = 0; i < n; i++) { if (arr[i] % 2 == 1) { arr[i] = arr[i] * 10; } } } int findMin() { int min = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] < min) { min = arr[i]; } } return min; } void printElements() { printf("< "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf(">\n"); } int findMorethan10() { int mon = 0; for (int i = 0; i < n; i++) { if (arr[i] > 10) { mon += 1; } } return mon; } int findLastEven() { int chet = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2 == 0) { chet = i; } } return chet; } int findFirstEven() { int chet = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2 == 0) { chet = i; break; } } return chet; } int findIndexMin() { int min = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] < min) { min = arr[i]; } } return min; } int minusodin() { int chet = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2 == 0) { arr[i] = arr[i]*(-1); } } return chet; } int chetblre() { int chet = 0; for (int i = 0; i < n; i++) { if (arr[i] < 4) { arr[i] = 4; } } return chet; } int posleMin() { int min = arr[0]; int inmin = 0; for (int i = 1; i < n; i++) { if (arr[i] < min) { min = arr[i]; inmin = i; } } for (int i = 1; i < n; i++) { if (i > inmin) { arr[i] = 0; } } return min; }