DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Звіт з лабораторної роботи №9

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Не вказано
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Об’єктно-орієнтоване програмування
Група:
ПІ-11

Частина тексту файла (без зображень, графіків і формул):

Міністерство науки і освіти України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій кафедра програмного забезпечення Звіт з лабораторної роботи №9 з дисципліни “Об’єктно-орієнтоване програмування ” Лабораторна робота 9 Стандартна бібліотека шаблонів. Контейнери та алгоритми. ЗАВДАННЯ Написати програму з використанням STL. Програма повинна демонструвати роботу з контейнерами STL і використання алгоритмів STL: Використовуючи необхідний алгоритм, знайти в контейнері елемент, який задовільняє заданій умові . 11 multimap list Корабель(ім’я, вантажопідйомність, тип)   Текст програми //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <iostream> #include <string> #include <map> #include <list> #include <algorithm> using namespace std; typedef struct _pair { char Type[20]; int freight; }Characters; typedef struct { char Ship[25]; Characters ch1; } LArgument; char up,down; //--------------------------------------------------------------------------- #pragma argsused bool IsInRange (multimap <string, Characters>::iterator it) { return (it->first[0] >= up && it->first[0] <= down); } //------------------------------------------------------- bool IsInRange (list <LArgument>::iterator Lit) { return (Lit->Ship[0] >= up && Lit->Ship[0] <= down); } //------------------------------------------------------- bool LASort (LArgument L1, LArgument L2) { return (strcmp(L1.Ship,L2.Ship)); } //------------------------------------------------------- int main() { multimap <string, Characters> ship1, ship2; multimap <string, Characters>::iterator it,it2; multimap <string, Characters>::reverse_iterator rit; int cnt1,cnt2,i; char ship[25]; Characters temp; //zav 1 //zapovnuemo kartu cout << "Vveditj k-tj zapusiv: "; cin >> cnt1; cin.get(); for(i=0; i<cnt1; i++) { cout << i+1 << " - yj zapys:" << endl; cout << "Vveditj nazvu korablya : "; cin.getline(ship,25); cout << "Vveditj typ : "; cin.getline(temp.Type,20); cout << "Vveditj vantazhopidjomnist' (v tonnah): "; cin >> temp.freight; cin.get(); ship1.insert(multimap<string,Characters>::value_type( string(ship), temp)); } //zav 2 //vuvodumo kartu cout << "\n\nVuvodumo vmist multykartu : " << endl << endl; for (it=ship1.begin(); it!=ship1.end(); it++) { cout << it->first << " - " << it->second.Type; cout <<"; V: " << it->second.freight << " tonn" <<endl; } //zav 3 //zmina elementiv kartu char ansver; char key[25]; cout << "\nVydalennya elementiv.\n"; cout << "Vykonaty? (y/n)"; cin >> ansver; cin.get(); if(ansver=='y') { do { cout << "Vvedit' nazvu korablya, zapys\n"; cout << "yakogo maye buty vydalenyj:\n"; cin.getline(key,25); if((it=ship1.find(key)) == ship1.end()) cout << "V nas takyh korabliv nemaye:)!\n"; else { ship1.erase(it); cout << "Dani pro korabel vydaleni zi spysku...\n\n"; } if(ship1.empty()) { cout << "\nZapysiv nemaye!!!\n" << endl; break; } cout << "Prodovzhyty vydalennya? (y/n) : "; cin >> ansver; cin.get(); } while(ansver=='y'); } cout << "\n\nZamina elementiv.\n"; cout << "Vykonaty zaminu zapysu?\n"; cin >> ansver; cin.get(); if(ansver=='y') { do { cout << "Vveditj nazvu korablya, zapys\n"; cout << "yakogo bazhayete zaminyty:\n"; cin.getline(key,25); if((it=ship1.find(key)) == ship1.end()) cout << "V nas takyh korabliv nemaye!!!\n"; else { cout << "Vveditj typ : "; cin.getline(it->second.Type ,20); cout << "Vveditj vantazhopidyomnist' (v tonnah): "; cin >> it->second.freight; cout << "\nZapys uspishno zaminenyj!\n"; } if(ship1.empty()) { cout << "Zapysiv nemaye!!!" << endl; break; } cout << "\nProdovzhyty zaminu? (y/n) : "; cin >> ansver; cin.get(); } while(ansver=='y'); } //zav 4 //vuvodumo kartu za dopomogoyu iteratoriv cout << "\n\nVyvedennya vmistu (za dop. iteratoriv): " << endl << endl; for (it=ship1.begin(); it!=ship1.end(); it++) { cout << it->first << " - " << it->second.Type; cout <<"; V: " << it->second.freight << "tonn" <<endl; } //zav 5 //stvorutu we odun konteyner takogo zh tupy i yogo zapovnutu cout << "\nVveditj k-tj zapusiv drugogo kontejneru: "; cin >> cnt2; cin.get(); for(i=0; i<cnt2; i++) { cout << i+1 << " - yj zapys:" << endl; cout << "Vveditj nazvu korablya : "; cin.getline(ship,25); cout << "Vveditj typ : "; cin.getline(temp.Type,20); cout << "Vveditj vantazhopidyomnist' (v tonnah) : "; cin >> temp.freight; cin.get(); ship2.insert(multimap<string,Characters>::value_type( string(ship), temp)); } //zav 6 //vudalennya n elem pisla zadanogo ta dodavannya zapusiv //z ship2 v ship int n,index=0; ansver='n'; do { ansver='n'; cout << "\nVveditj nazvu korablya dlya poshuku: "; cin.getline(key,25); if((it=ship1.find(key)) == ship1.end()) { cout << "V nas takyh korabliv nemaye!!!\n"; cout << "Prodovzhyty poshuk? (y/n) : "; cin >> ansver; cin.get(); } } while(ansver=='y'); if (it!=ship1.end()) { cout << "Skilky zapysiv pislya zadanogo treba vydalyty?\n"; cin >> n; cin.get(); for(++it,index=0; it!=ship1.end() && index<n; it++,index++) ship1.erase(it); if(index<n) cout << "\nKorabli skinchylys'!\n"; else cout << "Vudaleno " << n << " elementiv...\n\n"; } for(it2=ship2.begin(); it2!=ship2.end(); it2++) { ship1.insert(multimap<string,Characters>::value_type( string(it2->first), it2->second )); } cout << "Dodaemo zapysy z pershogo konteyneru v drugyy...\n"; //zav 7 //vuvestu dvi kartu cout << "\n\nVuvodumo pershyj konteyner : " << endl << endl; for (it=ship1.begin(); it!=ship1.end(); it++) { cout << it->first << " - " << it->second.Type; cout << "; V: " << it->second.freight << "tonn" <<endl; } cout << "\n\nVuvodumo drugyj konteyner : " << endl << endl; for (it2=ship2.begin(); it2!=ship2.end(); it2++) { cout << it2->first << " - " << it2->second.Type; cout <<"; V: " << it2->second.freight<< "tonn" << endl; } //zav 8-9 //vuvodumo kartu v zvorotnjomy poryadky cout << "\nNashi korabli v zvorotnyomu poryadku: " << endl << endl; for (rit=ship1.rbegin(); rit!=ship1.rend(); rit++) { cout << rit->first << " - " << rit->second.Type; cout <<"; V: " << rit->second.freight<< "tonn" << endl; } //zav 10&11 //znaytu zapusu yaki vidpovidayutj ymovi za dop algorutmiv //i zapus ih y list list<LArgument> MyList; list<LArgument>::iterator Lit; LArgument arg; cout << "Vveditj verhnyu litery diapazony : "; cin >> up; cin.get(); cout << "\nVveditj nuzhnu litery diapazony : "; cin >> down; cin.get(); cout << "\nVyvedennya zapysiv, scho znah. v mezhah diapazonu:\n"; for (it=ship1.begin(); it!=ship1.end(); it++) if (IsInRange(it)) { cout << it->first << " - " << it->second.Type; cout <<"; V: " << it->second.freight<< "tonn" << endl; strcpy(arg.Ship,it->first.c_str()); arg.ch1=it->second; MyList.push_front(arg); } //zav 12 //proglyanytu list cout << "\n\nVyvadennya vmistu spusky : " << endl << endl; for (Lit=MyList.begin() ; Lit!=MyList.end(); Lit++) { cout << Lit->Ship << " - " << Lit->ch1.Type; cout <<"; V: " << Lit->ch1.freight<< "tonn" << endl; } //zav 13 //posortyvatu list po zrostannyu MyList.sort(LASort); cout << "Sortuvannya vmistu multykartu i spusky po zrostannyu...\n"; //zav 14 //vuvestu map & list cout << "\nVuvodennya vmistu karty : " << endl << endl; for (it=ship1.begin(); it!=ship1.end(); it++) { cout << it->first << " - " << it->second.Type; cout <<"; V: " << it->second.freight<< "tonn" << endl; } cout << "\n\nVyvedennya vmistu spysku : " << endl << endl; for (Lit=MyList.begin() ; Lit!=MyList.end(); Lit++) { cout << Lit->Ship << " - " << Lit->ch1.Type; cout <<"; V: " << Lit->ch1.freight<< "tonn" << endl; } //zav 15 //otrumatu we odun list list<LArgument> MyList2; cout << "\nZlyttya multykapty i spysku v drugyy spysok...\n" ; for (it=ship1.begin(); it!=ship1.end(); it++) { strcpy(arg.Ship,it->first.c_str()); arg.ch1=it->second; MyList2.push_front(arg); } for (Lit=MyList.begin(); Lit!=MyList.end(); Lit++) { strcpy(arg.Ship,Lit->Ship); arg.ch1=Lit->ch1; MyList2.push_front(arg); } //zav 16 //vuvestu list 2 cout << "\n\nVyvedennya vmistu drugogo spysku : " << endl << endl; for (Lit=MyList2.begin() ; Lit!=MyList2.end(); Lit++) { cout << Lit->Ship << " - " << Lit->ch1.Type; cout <<"; V: " << Lit->ch1.freight<< "tonn" << endl; } //zav 17 //porahyvatu skilyku elem z list 2 zadoviljnyae IsInRange() for (Lit=MyList2.begin(),index=0 ; Lit!=MyList2.end(); Lit++) if (IsInRange(Lit)) { index++; } cout << "\nV drugomu spysku je " << index << " korabliv, zapysy yakyh zadoviljnyayut ymovy"; cin.get(); return 0; } //--------------------------------------------------------------------------- Протокол роботи програми  Висновок: Написав програму з використанням STL. Програма демонструє роботу з контейнерами STL і використовує алгоритм STL вказаний завданням.
Антиботан аватар за замовчуванням

31.03.2013 13:42

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!