#include #include #define NUM_ELEMENTS 10 int arr[NUM_ELEMENTS]; int n = 0; void printElements(); void keyboardInput(); void oddsX10(); int findMin(); int countElements(); int findLastEven(); int findIndexMin(); int findIndexMax(); void chetnaminus(); int findmenshe4(); int variant4(); void deleteElement(); void insertElement(); void delMin(); void insert0(); void delnechetElement(int delIndex); int Findnechet(); 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: x2 для последнего четного\n"); printf("6: Сколько четных левее минимального\n"); printf("7: х10 для нечетных правее минимального\n"); printf("8: переставить местами min и max\n"); printf("9: все четные элементы массива умножить -1\n"); printf("10: все элементы массива имеющие значения меньше 4 заменить на 4\n"); printf("11: все эелементы, стоящие перед четными, заменить на 9\n"); printf("12: удалить заданный элемент\n"); printf("13: вставить новый элемент в заданное место\n"); printf("14: удалить минимальный элемент\n"); printf("15: перед минимальным элементом вставить 0\n"); printf("16: удалить первый из нечётных элементов\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 cnt = countElements(); printf(" %d элементов > 10\n", cnt); } 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; case 7: { int index = findIndexMin(); printf("Индекс минимального элемента = %d\n", index); int cnt = 0; for (int i = index + 1; i < n; i++) { if (arr[i] % 2 == 1) { arr[i] *= 10; } } } break; case 8: { int indexMin = findIndexMin(); printf("Индекс минимального элемента = %d\n", indexMin); int indexMax = findIndexMax(); printf("Индекс максимального элемента = %d\n", indexMax); int tmp = arr[indexMin]; arr[indexMin] = arr[indexMax]; arr[indexMax] = tmp; } break; case 9: chetnaminus(); break; case 10: findmenshe4(); break; case 11: variant4(); break; case 12: deleteElement(); break; case 13: insertElement(); break; case 14: delMin(); break; case 15: insert0(); break; case 16: { int nechet = Findnechet(); delnechetElement(nechet); } } } 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 oddsX10() { for (int i = 0; i < n; i++) { if (arr[i] % 2 == 1) { arr[i] = arr[i] * 10; } } } void printElements() { printf("< "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf(">\n"); } int findMin() { int min = arr[0]; for (int i = 1; i < n;i++) { if (arr[i] < min) { min = arr[i]; } } return min; } int countElements() { int cnt = 0; for (int i = 0; i < n; i++) { if (arr[i] > 10) { cnt++; } } return cnt; } int findLastEven() { for (int i = n - 1; i < n; i--) { if (arr[i] % 2 == 0) { return i; } } return -1; } int findIndexMin() { int min = arr[0]; int indexMin = 0; for (int i = 1; i < n; i++) { if (arr[i] < min) { min = arr[i]; indexMin = i; } } return indexMin; } int findIndexMax() { int max = arr[0]; int indexMax = 0; for (int i = 1; i < n; i++) { if (arr[i] > max) { max = arr[i]; indexMax = i; } } return indexMax; } void chetnaminus() { for (int i = 0; i < n; i++) { if (arr[i] % 2 == 0) { arr[i] = arr[i] * -1; } } } int findmenshe4() { for (int i = 0; i < n; i++) { if (arr[i] < 4 ) { arr[i] = 4; } } return 4; } int variant4() { for (int i = 0; i < n; i++) { if (arr[i] % 2!=0) { arr[i] = 9; } } return 4; } void deleteElement() { int index; printf("Индекс удаляемого элемента = "); scanf_s("%d", &index); for (int i = index; i < (n - 1); i++) { arr[i] = arr[i + 1]; } n--; for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } } void insertElement() { int index; printf("Индекс перед которым надо вставить новый = "); scanf_s("%d", &index); int value; printf("Значение, которое нужно вставить = "); scanf_s("%d", &value); for (int i = n; i > index; i--) { arr[i] = arr[i - 1]; } n++; arr[index] = value; printf("%d", value); } void delMin() { int min = findIndexMin(); for (int i = min; i < (n - 1); i++) { arr[i] = arr[i + 1]; } n--; for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } } void insert0() { int min = findIndexMin(); for (int i = n; i > min; i--) { arr[i] = arr[i - 1]; } n++; arr[min] = 0; printf("%d", 0); } int Findnechet() { for (int i = 0; i < n; i++) { if (arr[i] % 2 == 1) { return i; } } return -1; } void delnechetElement(int delIndex) { for (int i = delIndex; i < (n - 1); i++) { arr[i] = arr[i + 1]; } n--; }