main and gitignore file
This commit is contained in:
parent
cb9b51601f
commit
b1f2c91341
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,3 +12,4 @@
|
||||
# Built Visual Studio Code Extensions
|
||||
*.vsix
|
||||
|
||||
.vscode/
|
||||
|
187
main.cpp
Normal file
187
main.cpp
Normal file
@ -0,0 +1,187 @@
|
||||
#include <stdio.h>
|
||||
#include <Windows.h>
|
||||
|
||||
#define MAX_SIZE 10
|
||||
|
||||
int arr[MAX_SIZE];
|
||||
int n = 0;
|
||||
|
||||
void keyboardInput() {
|
||||
printf("n = ");
|
||||
if (scanf_s("%d", &n) != 1 || n <= 0 || n > MAX_SIZE) {
|
||||
printf("Невереное значение %d.\n", MAX_SIZE);
|
||||
n = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
printf("Введенное %d значение: ", n);
|
||||
for (int i = 0; i < n; i++) {
|
||||
if (scanf_s("%d", &arr[i]) != 1) {
|
||||
printf("Невереное значение\n");
|
||||
n = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void oddsX10() {
|
||||
for (int i = 0; i < n; i++) {
|
||||
if (arr[i] % 2 == 1) {
|
||||
arr[i] *= 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int findMin() {
|
||||
if (n <= 0) return -1;
|
||||
int min = arr[0];
|
||||
for (int i = 1; i < n; i++) {
|
||||
if (arr[i] < min) {
|
||||
min = arr[i];
|
||||
}
|
||||
}
|
||||
return min;
|
||||
}
|
||||
|
||||
int findMax() {
|
||||
if (n <= 0) return -1;
|
||||
int max = arr[0];
|
||||
for (int i = 1; i < n; i++) {
|
||||
if (arr[i] > max) {
|
||||
max = arr[i];
|
||||
}
|
||||
}
|
||||
return max;
|
||||
}
|
||||
|
||||
int findLastEven() {
|
||||
for (int i = n - 1; i >= 0; i--) {
|
||||
if (arr[i] % 2 == 0) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int findIndexMin() {
|
||||
if (n <= 0) return -1;
|
||||
int min = arr[0];
|
||||
int minIndex = 0;
|
||||
for (int i = 1; i < n; i++) {
|
||||
if (arr[i] < min) {
|
||||
min = arr[i];
|
||||
minIndex = i;
|
||||
}
|
||||
}
|
||||
return minIndex;
|
||||
}
|
||||
|
||||
int evensMultiplyByMinusOne() {
|
||||
for (int i = 0; i < n; i++) {
|
||||
if (arr[i] % 2 == 0) {
|
||||
arr[i] = arr[i] * -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void replaceLessThanFourWithFour() {
|
||||
for (int i = 0; i < n; i++) {
|
||||
if (arr[i] < 4) {
|
||||
arr[i] = 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void printElements() {
|
||||
if (n == 0) {
|
||||
printf("Массив пуст.\n");
|
||||
return;
|
||||
}
|
||||
printf("[");
|
||||
for (int i = 0; i < n; i++) {
|
||||
printf("%d", arr[i]);
|
||||
if (i < n - 1) {
|
||||
printf(", ");
|
||||
}
|
||||
}
|
||||
printf("]\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
int 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: Найти максимальный элемент\n");
|
||||
printf("5: Удвоить последний четный элемент\n");
|
||||
printf("6: Найти количество четных элементов левее минимального\n");
|
||||
printf("7: Все четные элементы массива умножить на -1\n");
|
||||
printf("8: Все элементы массива имеющие значения меньше 4 заменить на 4\n");
|
||||
printf("0: Выйти из программы\n");
|
||||
printf("Выбранная операция >>>>>> ");
|
||||
|
||||
if (scanf_s("%d", &item) != 1) {
|
||||
printf("Неверное значение.\n");
|
||||
while (getchar() != '\n');
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (item) {
|
||||
case 1: keyboardInput(); break;
|
||||
case 2: oddsX10(); break;
|
||||
case 3: {
|
||||
int min = findMin();
|
||||
if (min != -1) printf("min = %d\n", min);
|
||||
else printf("Массив пуст\n");
|
||||
} break;
|
||||
case 4: {
|
||||
int max = findMax();
|
||||
if (max != -1) printf("max = %d\n", max);
|
||||
else printf("Массив пуст\n");
|
||||
} break;
|
||||
case 5: {
|
||||
int index = findLastEven();
|
||||
if (index >= 0) printf("Последний четный элемент умноженный на 2 = %d\n", arr[index] *= 2);
|
||||
else printf("Не число.\n");
|
||||
} break;
|
||||
case 6: {
|
||||
int index = findIndexMin();
|
||||
if (index != -1) {
|
||||
int cnt = 0;
|
||||
for (int i = 0; i < index; i++) {
|
||||
if (arr[i] % 2 == 0) cnt++;
|
||||
}
|
||||
printf("Левее минимального %d четных элементов\n", cnt);
|
||||
}
|
||||
else {
|
||||
printf("Массив пуст\n");
|
||||
}
|
||||
} break;
|
||||
case 7: {
|
||||
evensMultiplyByMinusOne();
|
||||
} break;
|
||||
case 8: {
|
||||
replaceLessThanFourWithFour();
|
||||
} break;
|
||||
|
||||
case 0: break;
|
||||
default: printf("Неверный номер операции!\n");
|
||||
}
|
||||
|
||||
} while (item != 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user