#include #include #define NUM_ELEMENTS 10 int arr[NUM_ELEMENTS]; int n = 0; void printElements() { for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } } void keyboardInput() { printf("n = "); scanf_s("%d", &n); printf("Введите %d переменных: ", 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; } } } int findMin() { int min = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] < min) { min = arr[i]; } } return min; } int FindIndexMin() { int min = arr[0]; int index = 0; for (int i = 1; i < n; i++) { if (arr[i] < min) { min = arr[i]; index = i; } } return index; } int MoreThan10() { int cnt = 0; for (int i = 0; i < n; i++) { if (arr[i] > 10) { cnt += 1; } } return cnt; } void TwiceLastEven() { int index = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2 == 0) { index = i; } } arr[index] = 2 * arr[index]; } void HowManyLeft() { 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); } void MinusEven() { for (int i = 0; i < n; i++) { if (arr[i] % 2 == 0) { arr[i] = -1 * arr[i]; } } } void OnlyMore4() { for (int i = 0; i < n; i++) { if (arr[i] < 4) { arr[i] = 4; } } } void BetweenEven() { for (int i = 1; i < (n - 1); i++) { if ((arr[i - 1] % 2 == 0) && (arr[i + 1] % 2 == 0)) { arr[i] = 1; } } } //Лаба 14 void DeleteElement(int index) { for (int i = index; i < (n - 1); i++) { arr[i] = arr[i + 1]; } n--; } void InsertElement(int index, int value) { for (int i = n; i > index; i--) { arr[i] = arr[i - 1]; } n++; arr[index] = value; } void main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int item; do { printf("\n"); printf("------------------------------\n"); printf("Содержимое массива: "); printElements(); printf("\n"); 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: Заменить элемент, стоящий между четными, на 1 \n"); printf("10: Удалить нужный элемент \n"); printf("11: Новый элемент в нужное место \n"); printf("12: Удалить минимальный элемент \n"); printf("13: Перед минимальным элементом вставить 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 cnt = MoreThan10(); printf("%d больше 10 \n", cnt); break; } case 5: TwiceLastEven(); break; case 6: HowManyLeft(); break; case 7: MinusEven(); break; case 8: OnlyMore4(); break; case 9: BetweenEven(); break; //Лаба 14 case 10: { printf("Индекс удаляемого элемента: "); int index; 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 min = FindIndexMin(); printf("min = %d", arr[min]); DeleteElement(min); break; } case 13: { int min = FindIndexMin(); InsertElement(min, 0); break; } } } while (item != 0); }