Second
This commit is contained in:
parent
39b4fb8f82
commit
cd51516e1e
186
Lab
186
Lab
@ -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);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user