From 107c8e5e0f5870b975364098f797c1f6b0d005a4 Mon Sep 17 00:00:00 2001 From: "v.ignatkin" Date: Wed, 6 Nov 2024 13:56:38 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=20fi?= =?UTF-8?q?rst.cpp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- first.cpp | 293 ------------------------------------------------------ 1 file changed, 293 deletions(-) delete mode 100644 first.cpp diff --git a/first.cpp b/first.cpp deleted file mode 100644 index 04e19c2..0000000 --- a/first.cpp +++ /dev/null @@ -1,293 +0,0 @@ -#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); -}