Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2010, 15:35   #1
Progsenya
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 80
По умолчанию Проблема с реализацией алгоритма Count

Код:
#include<iostream>
#include<iterator>
#include<algorithm>
#include<vector>
#include<time.h>
#include<fstream>
#include<deque>
#include<string>
#include<typeinfo>
#include<string.h>
#include<conio.h>
#include<iomanip>
using namespace std;

class PC
{
public:
	string name;
	int ram;
	int hdd;
	
	PC();
	PC(string pr,int ram,int hdd);
	void Display()
{
	cout<<setw(5)<<name<<setw(10)<<hdd<<"  "<<ram<<"  "<<endl;
}
	static bool SortName(const PC &a, const PC &b)
	{
		return(a.name < b.name);
	}
	static bool SortHdd(const PC &c,const PC &d)
	{
		return(c.hdd>d.hdd);
	}
	static bool SortMem(const PC&e,const PC &f)
	{
		return(e.ram>f.ram);
	}
	
};
PC::PC()
{
		this->name="Core2Duo";
		this->hdd=1000;
		this->ram=2048;
}
PC::PC(string pr,int ram,int hdd)
{
		this->name=pr;
		this->hdd=hdd;
		this->ram=ram;
}
void Show(int a)
{
	cout<<a<<endl;
}


void main()
{
	int n=0;
	ostream_iterator<int,char>out_it (cout," ");
	vector<PC> pc;
	vector<PC>::iterator it;
	pc.push_back(PC("Intel",1500,4096));
	pc.push_back(PC("AMD",320,2048));
	pc.push_back(PC("Apple",1000,4096));
	pc.push_back(PC("I7",2000,32000));
	pc.push_back(PC("Quad",640,2048));
	cout<<pc.size()<<endl;
	sort(pc.begin(),pc.end(), &PC::SortName);
	for(vector< PC >::iterator i = pc.begin(); i != pc.end(); i++ )
	{
      i->Display();
	}
	cout<<"-------------------------"<<endl;
	sort(pc.begin(),pc.end(),&PC::SortHdd);
	for(vector< PC >::iterator i = pc.begin(); i != pc.end(); i++ )
	{
      i->Display();
	}
	cout<<"--------------------------"<<endl;
	sort(pc.begin(),pc.end(),&PC::SortMem);
	for(vector< PC >::iterator i = pc.begin(); i != pc.end(); i++ )
	{
      i->Display();
	}
	count(pc.begin(),pc.end(),"Amd");
	cout<<"Amd- "<<count(pc.begin(),pc.end(),"Amd" )<<endl;
}
не работает алгоритм count кто знает как починить буду рад помощи
Progsenya вне форума Ответить с цитированием
Старый 10.09.2010, 16:01   #2
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Это от того, что оно ищет class PC, а ты ему всучиваешь const string.

Заюзай count_if и напиши под это дело свой предикат.
the_deer_one вне форума Ответить с цитированием
Старый 10.09.2010, 16:30   #3
Progsenya
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 80
По умолчанию

count_if получился ,спасибо все работает нормально.
У меня есть еще вопросик нужно написать алгоритм который будет выводить всю информацио о компьютере по его имени кто может подскажите реализацию
Progsenya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новый месяц. Проблема с реализацией DaMadQuest БД в Delphi 1 18.04.2010 13:12
проблема с реализацией многопоточности в c# whitebrain Помощь студентам 0 19.03.2010 01:23
Помогите с реализацией алгоритма... kartonka Microsoft Office Excel 20 31.07.2009 21:39
проблема с реализацией на складе 4321 БД в Delphi 3 30.10.2008 13:30
Проблема с реализацией потока InseR Общие вопросы Delphi 11 19.08.2008 12:20