Ветвь1 #1

Merged
bel.riose merged 2 commits from Ветвь into main 2024-11-21 09:41:59 +04:00
Showing only changes of commit cd51516e1e - Show all commits

186
Lab
View File

@ -1,20 +1,176 @@
// Lab43.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы. #include <stdio.h>
// #include <Windows.h>
#include <iostream> #define NUM_ELEMENTS 100
int main() int arr[NUM_ELEMENTS];
{ int n = 0;
std::cout << "Hello World!\n"; void addLastElement(int a) {
arr[n++] = a;
}
void printElements() {
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
} }
// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки" int findMin() {
// Отладка программы: F5 или меню "Отладка" > "Запустить отладку" int min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
int findMin2() {
int min = arr[0];
int o;
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
o = i;
}
}
return o;
}
int findMax() {
int max = 0;
int o;
for (int i = 1; i < n; i++) {
if (arr[i] > max && arr[i]%2==0) {
max = arr[i];
o = i;
}
}
return o;
}
// Советы по началу работы void keyboardInput() {
// 1. В окне обозревателя решений можно добавлять файлы и управлять ими. printf("n = ");
// 2. В окне Team Explorer можно подключиться к системе управления версиями. scanf_s("%d", &n);
// 3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.
// 4. В окне "Список ошибок" можно просматривать ошибки. printf("input %d values: ", n);
// 5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода. for (int i = 0; i < n; i++) {
// 6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл. scanf_s("%d", &arr[i]);
}
}
void deleteElement(int a){
int k = n;
printf("%d", k);
for (; a < n-1; a++) {
arr[a] = arr[a + 1];
}
n = n - 1;
}
void insertElement(int a,int b){
addLastElement(arr[n-1]);
int k = n;
int l = b;
printf("%d", k);
for (; a < k; k--) {
arr[k-1] = arr[k-2];
}
arr[a] = l;
}
void minEl0() {
int m = findMin();
int r;
int k = n;
for (int i = 0; i < n; i++) {
if (arr[i] == m) {
r = i;
}
}
addLastElement(arr[n - 1]);
printf("%d", k);
while (k > 0) {
arr[k] = arr[k - 1];
k--;
}
arr[r] = 0;
}
void priz() {
int m = findMax();
addLastElement(arr[n - 1]);
int r;
int k = n;
for (; m+2 < k; k--) {
arr[k] = arr[k - 1];
k--;
}
arr[m + 1] = 0;
}
void main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int item;
do {
printf("\n");
printf("------------------------------\n");
printf("Ñîäåðæèìîå ìàññèâà:");
printElements();
printf("Âûáåðèòå íóæíóþ âàì îïåðàöèþ:\n");
printf("1: Ââåñòè ñ êëàâèàòóðû ìàññèâ\n");
printf("2: Óäàëèòü âûáðàííûé ýëåìåíò\n");
printf("3: Ââåñòè ýëåìåíò íà âûáðàííîå ìåñòî\n");
printf("4: Óäàëèòü ìèíèìàëüíûé ýëåìåíò\n");
printf("5: Ïåðåä ìèíèìàëüíûì ýëåìåíòîì âñòàâèòü 0\n");
printf("6: Ïîñëå ìàêñèìàëüíîãî ÷¸òíîãî ýëåìåíòà âñòàâèòü 0\n");
printf("\n");
printf("0: Âûéòè èç ïðîãðàììû \n");
printf("Âûáðàííàÿ îïåðàöèÿ >>>>>> ");
scanf_s("%d", &item);
switch (item) {
case 1:
keyboardInput();
break;
case 2:
printf("Ââåäèòå èíäåêñ óäîëÿåìîãî ýëåìåíòà ");
int a;
scanf_s("%d", &a);
deleteElement(a);
break;
case 3:
{
printf("Ïðåä êàêèì ýëåìåíòîì âñòàâèòü íîâûé? Èíäåêñ = ");
int a;
scanf_s("%d", &a);
printf("Êàêîå çíà÷åíèå âñòàâèòü = ");
int b;
scanf_s("%d", &b);
insertElement(a,b);
break;
break;
}
case 4:
{
deleteElement(findMin2());
break;
}
case 5:
{
minEl0();
break;
}
case 6:
{
priz();
break;
}
}
} while (item != 0);
}