Форум программистов, компьютерный форум CyberForum.ru

Контейнеры и итераторы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему сын может спокойно работать с полями privat отцовского класса (опять template <class T> воду мутит!) http://www.cyberforum.ru/cpp-beginners/thread314364.html
Сабж class otets { public: otets (){}; private: int znach; }; template <class T> class sinn: public otets {
C++ Очень просто Я понимаю что создавалось много тем с этой проблемой но я не нашел их Просто напишите пожалуста как можно считать количество элементов одномерного массива http://www.cyberforum.ru/cpp-beginners/thread314341.html
C++ is.getline
Подскажите пожалуйста. Есть класс для работы со строками. Вот один из перегруженных операторов для ввода стоки istream& operator>>(istream& is, String& str) { const int N = 65536; // Временный массив для многострочного ввода char temp = {0}; size_t Length = 0, //длина последней введенной строки, Total = 0; //общая длина ввода; // ввод продолжается до ввода пустой...
Строки C++
Друзья если можно не большой пример работы со строками. К примеру оератором CIN>> присваиваю число или слово (переменной). Как зделать да бы из этой переменной можно было сосчитать колл-во введенных символов?
C++ Массив С++ http://www.cyberforum.ru/cpp-beginners/thread314328.html
Надо написать программу которая инициализирует массив и считывает сколько в нём элементов Функция для считывания xcount
C++ Удаление из списка Дан список из n целых чисел a1,a2,...an. Удалить из списка все элементы, входящие в него в точности два раза. #include <iostream.h> #include <conio.h> struct list { int info; list *next,*pred; }; void MakeL(list *&head) { подробнее

Показать сообщение отдельно
xadjek
 Аватар для xadjek
36 / 36 / 4
Регистрация: 05.06.2011
Сообщений: 306

Контейнеры и итераторы - C++

06.06.2011, 19:01. Просмотров 1925. Ответов 7
Метки (Все метки)

Здравствуйте. Нужна помощь в написании лабораторной работы
задание
1. Контейнеры. Создать контейнер, добавить в него следующий обьект: расклад карт для 1 руки (12 карт 4 мастей от 1 до Т)
Протестировать методы контейнера, скопировать его элементы в другой контейнер.

2. Итераторы. Протестировать работу итераторов различного типа., например, при вводе
и просмотре всех элементов контейнера, добавлении, поиске, удалении и пр.

3. Алгоритмы. Протестировать по 2 алгоритма каждой из 4 групп стандартной библиотеки алгоритмов. Указать, где используются стандартные объекты-функции (взять по 2 согласно вариантам). Обязательно использовать функциональный объект из п 1.
Контейнер-vector
обьекты функции: plus
Немодифицирующие алгоритмы:mismatch, count
Модифицирующие алгоритмы: remove_copy_if, rotate
Алгоритмы, связанные с сортировкой: sort_heap
Численные алгоритмы: adjacent_difference
из всего имеется свой написанный класс(сам расклад карт)
Код
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include<vector>
#include<algorithm>
#include<iterator>
#include<set>
using namespace std;
class Rasclad
{
private:
	string S[2][6];
	int N;
public:
	Rasclad() {};
	~Rasclad() {};

	int Find(string str)
		 {
          for(int i=0;i<N;i++)
           {
            if(!strcmp(S[i],str))
            return i;
           }
           return -1;
         }
	   bool Add(char*str)
	      {
           if(N<20)
            {
            strcpy(S[N],str);
            N++;
            return true;
           }
          else return false;
         }
	   bool Del(char*str)
		{
          int k=Find(str);
	      cout<<k<<endl;
          if(k>=0)
           {
           for(int i=k+1;i<N;i++)
            strcpy(S[i-1],S[i]);
           N--;
          return true;
           }
          return false;
         }
	   void View()
         {
          for(int i=0;i<N;i++)
          cout<<S[i]<<endl;
         }
	   bool Filter()
		 {
		  int k=0;
		   for(int i=0;i<N;i++)
		   {
			 if((atoi(S[i])%2)==1)//преобразует строку, адресуемую параметром str, в значение типа int
			 {
			  cout<<S[i]<<endl;
			  k++;
			 return false;
			 }
			 else return true; 
		  }
	   int Sort(char*str);
		 { 
		   char*str;
		   for ( int i=0;i<N-1;i++)
		   for (int j=N-1;j>i;j--)
            { 
			 if(strlen(S[j])>strlen(S[j-1]))//возвращает в  байтах  длину  строки  string
				
				strcpy(str,S[j]);
				strcpy(S[j],S[j-1]);
				strcpy(S[j-1],str);
		    }
	     }

		  bool operator==(Rasclad T, Rasclad T2)
	  {if(N==T.N)
	  return true;
	  if(!N==T.N)
	  return false; };
	   bool operator<(Set T)
	 {
	  if(N<T.N)
	  return true;
	  else false;
	  };
	  
	  
	  char* operator[](int i)
	  { 
       return S[i];
	  };
	  
	  friend Set operator<<(Set,char*str)
	  {cout<<str<<"";};
	  bool operator>(Set T)
	 {
	  if(N>T.N)
	  return true;
	  else false;
	  };
	   };
буду весьма благодарен в оказании любой помощи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru