Лабораторная работа №10 по курсу: «Алгоритмизация, программирование и языки высокого уровня» Тема «Списки»
Байланысты:
лаба 10
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
"ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"
Лабораторная работа №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;
} Достарыңызбен бөлісу: