Лабораторная работа №10 по курсу: «Алгоритмизация, программирование и языки высокого уровня» Тема «Списки»



Дата24.05.2023
өлшемі170,78 Kb.
#96726
түріЛабораторная работа

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
"ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"
Лабораторная работа №10
по курсу: «Алгоритмизация, программирование и языки высокого уровня»
Тема «Списки»

Выполнил:


ст. гр. КМД-22а
Уткин А.В.
Проверил:
ас. каф.КМД Бабкина А.А.
ас. каф.КМД Казакова А.С.
Донецк 2022
Вариант 18 (Возможные действия 3.7.9)

Листинг программы:


#include
#include

using namespace std;


// Структура для элемента списка


struct ListItem {
int number;
string data;
};

// Функция для ввода списка элементов


vector inputList() {
int n;
cout << "Введите количество элементов списка: ";
cin >> n;

vector lst;


for (int i = 0; i < n; ++i) {
ListItem item;
cout << "Введите данные для элемента " << i + 1 << ": ";
cin >> item.data;
item.number = i + 1;
lst.push_back(item);
}

return lst;


}

// Функция для вывода списка на экран


void printList(const vector& lst) {
for (const auto& item : lst) {
cout << "Номер: " << item.number << ", Данные: " << item.data << endl;
}
}

template


List *addToFront(List *Head, const T value)
{
List *Ptr = new List;
Ptr -> data = value;

Ptr -> next = Head;
Head = Ptr;
return Head;
}

// Функция для проверки списка на пустоту


int isEmpty(struct athletes *head) {
return head == NULL;
}
// Функция для удаления элемента списка с заданным значением
void removeByValue(vector& lst) {
string value;
cout << "Введите значение элемента для удаления: ";
cin >> value;

bool removed = false;


for (auto it = lst.begin(); it != lst.end(); ) {
if (it->data == value) {
it = lst.erase(it);
removed = true;
}
else {
++it;
}
}

if (removed) {


cout << "Элементы успешно удалены." << endl;
}
else {
cout << "Элементы с заданным значением не найдены." << endl;
}
}

// Главная функция программы


int main() {
setlocale(LC_ALL, "Russian");

vector lst = inputList(); // Ввод списка элементов


cout << "Список успешно заполнен." << endl;

while (true) {


// Вывод меню действий
cout << "\nМеню" << endl;
cout << "1. Вывести список на экран" << endl;
cout << "2. Удаление последнего элемента" << endl;
cout << "3. Добавление элемента в середину списка" << endl;
cout << "4. Удаление элемента списка с данным значением" << endl;
cout << "5. Выйти из программы" << endl;
int choice;
cout << "Выберите пункт меню: ";
cin >> choice;

if (choice == 1) {


printList(lst);
}
else if (choice == 2) {
removeLast(lst);
}
else if (choice == 3) {
addMiddle(lst);
}
else if (choice == 4) {
removeByValue(lst);
}
else if (choice == 5) {
break;
}
else {
cout << "Некорректный выбор. Попробуйте снова." << endl;
}
}

cout << "Программа завершена." << endl;


return 0;


}


Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет