Помогите пожалуйста!!! В программе вместо 1. Контейнер: очередь (deque) 2.Алгоритм: поиск заданного элемента (binary_sort) Нужно поставить 1. Контейнер: двусторонняя очередь (deque) 2. Замена заданного элемента (replace) Заранее спасибо!!! Текст программы! | Код | #pragma hdrstop #pragma argsused #include <list> #include <conio> #include <deque> using namespace std; struct TMy { char fio[50]; int mesto; bool friend operator<(TMy m1,TMy m2); bool friend operator>(TMy m1,TMy m2); bool friend operator==(TMy m1,TMy m2); }; bool operator<(TMy m1,TMy m2) { return m1.mesto<m2.mesto; } bool operator>(TMy m1,TMy m2) { return m1.mesto>m2.mesto; } bool operator==(TMy m1,TMy m2) { return m1.mesto==m2.mesto; } int main(int argc, char* argv[]) { int i; char* a[5]={"Ivanov","Petrov","Sidorov","Popov","Straustrup"}; deque<char> dc; deque<long int> dli; deque<long double> dld; deque<TMy> dMy; TMy m; randomize(); for(i=0;i<5;i++) { dc.push_front((char)i+65); dli.push_front(random(1000000000)); dld.push_front((long double)(i+1)*100/6); strcpy(m.fio,a[i]); m.mesto=random(3)+1; dMy.push_front(m); }; sort(dc.begin(),dc.end()); sort(dli.begin(),dli.end()); sort(dld.begin(),dld.end()); sort(dMy.begin(),dMy.end()); if(binary_search(dc.begin(),dc.end(),'D')) printf("Naideno znachenie \"D\" v ocheredi elementov char"); else printf("Ne naideno znachenie \"D\" v ocheredi elementov char"); printf("\r\n"); if(binary_search(dli.begin(),dli.end(),12345)) printf("Naideno znachenie \"12345\" v ocheredi elementov long int"); else printf("Ne naideno znachenie \"12345\" v ocheredi elementov long int"); printf("\r\n"); if(binary_search(dld.begin(),dld.end(),(long double)50)) printf("Naideno znachenie \"50\" v ocheredi elementov long double"); else printf("Ne naideno znachenie \"50\" v ocheredi elementov long double"); printf("\r\n"); m.mesto=1; if(binary_search(dMy.begin(),dMy.end(),m)) printf("Est sportsmeni, zaniavshie 1-e mesto!"); else printf("Net sportsmenov, zaniavshih 1-e mesto!"); printf("\r\n|---------------------------------------------------------------\r\n"); printf("| Char | Long int | Long Double | TMy |\r\n"); printf("|-------------+-------------+-------------+--------------------+\r\n"); for(i=0;i<5;i++) { printf("| %7c | %9i | %7Lf | %10s, %1i |\r\n", dc.back(),dli.back(),dld.back(),dMy.back().fio,dMy.back().mesto); dc.pop_back(); dli.pop_back(); dld.pop_back(); dMy.pop_back(); }; printf("|---------------------------------------------------------------\r\n"); getch(); return 0; }
|
Это сообщение отредактировал(а) Daevaorn - 4.5.2008, 09:59
|