Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [c++] Стандартная библиотека шаблонов (STL), Стандартная библиотека шаблонов (STL) 
:(
    Опции темы
r18Romik
Дата 4.5.2008, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 13.2.2008
Где: Пермь

Репутация: нет
Всего: нет



Помогите пожалуйста!!!    
В программе вместо 
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
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0367 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.