2024-11-27 18:22:29 +04:00

241 lines
4.0 KiB
C

#include <stdio.h>
#include <Windows.h>
#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);
}