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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2011, 01:29   #1
sky1212
Новичок
Джуниор
 
Регистрация: 17.05.2011
Сообщений: 2
По умолчанию Написать задачу в C++ builder

Здравствуйте помогите пожалуйста с задачей, которую увы не под силу мне написать в C++ builder. Заранее большое спасибо!Надеюсь на вашу помощь)

Вот задание.
Разработать программу, формирующую массив, содержащийй информацию об автомобилях
фамилию владельца, номер автомобиля марку дату выпуска расход горючего.
Предусмотреть возможность вывода следущей информации
!)список владельцев автомобилей, определенной марки.
2)информацию об автомобилях, имеющих дату выпуска не ранее ХХХХ года и расход горючего в заданном диапозоне.
Реализовать возможность поиска по номеру автомобиля (хешированием)
sky1212 вне форума Ответить с цитированием
Старый 24.05.2011, 20:35   #2
Ksardas13
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 120
По умолчанию

Сделаю за "печенье". Аська 473010803, пиши.
Не кину, я этим зарабатываю на печенье.)
Ksardas13 вне форума Ответить с цитированием
Старый 24.05.2011, 21:13   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Пиши. Контакты и "портфолио" в подписи. Договоримся.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 25.05.2011, 01:04   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

sky1212

а вот - бесплатный вариант :gigi:

Код:
#include <string>
#include <vector>

#include <locale>
#include <iostream>

#include <boost/range/algorithm.hpp>
#include <boost/range/adaptor/filtered.hpp>
using namespace boost::adaptors;

#include <boost/spirit/home/phoenix.hpp>
namespace phx = boost::phoenix;

using phx::arg_names::arg1;

/*
Разработать программу, формирующую массив, содержащийй информацию об автомобилях
фамилию владельца, номер автомобиля марку дату выпуска расход горючего.
*/

struct Car
{
	std::string owner;
	unsigned number;
	std::string model;
	unsigned year;
	float fuelRate;
};

// список владельцев автомобилей, определенной марки.
std::vector<std::string> get_owners(const std::vector<Car>& cars, const std::string& model)
{
	std::vector<std::string> v;
	boost::transform(cars | filtered(&arg1 ->* &Car::model == model), std::back_inserter(v), &arg1 ->* &Car::owner);

	return v;
}

// информацию об автомобилях, имеющих дату выпуска не ранее ХХХХ года и расход горючего в заданном диапозоне.
std::vector<Car> get_info(const std::vector<Car>& cars, unsigned year, const std::pair<float, float>& fuel)
{
	std::vector<Car> v;
	boost::copy(cars | filtered(
		&arg1 ->* &Car::year >= year &&
		&arg1 ->* &Car::fuelRate >= fuel.first && &arg1 ->* &Car::fuelRate <= fuel.second
		), std::back_inserter(v));

	return v;
}

const Car info[] = 
{
	{"William", 100, "Toyota", 2000, 10},
	{"Mary", 200, "Volvo", 2001, 12},
	{"Jennifer", 100, "Ford", 2005, 8},
	{"Mike", 100, "Toyota", 2002, 15}
};

// пример использования
int main()
{
	const std::vector<Car> cars(info, info + _countof(info));

	get_owners(cars, "Toyota");
	// получаем {"William", "Mike"}

	get_info(cars, 2001, std::make_pair(6, 10));
	// получаем {"Jennifer", ...}

	return 0;
}
Rififi вне форума Ответить с цитированием
Старый 25.05.2011, 03:04   #5
Ksardas13
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 120
По умолчанию

Я теперь понимаю почему у тебя репутация -4 =D

Вот из-за тебя сегодня мой хомяк будет голодать, обнимая тощими лапками своего плюшевого мишку, и веря, что его хозяин в следующий раз уж точно принесёт много-много вкусного. А сегодня? Сегодня просто такой день. Хомя ксильный, хомя будет ждать... ;((

Последний раз редактировалось Ksardas13; 25.05.2011 в 03:07.
Ksardas13 вне форума Ответить с цитированием
Старый 25.05.2011, 03:07   #6
Ksardas13
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 120
По умолчанию

ps: Но замечу, клиент хочет прогу на Билдере, а твоя для консоли. =Р

И кстати, я не понял строчку "(хешированием) " - напомните в двух словах это как?)))
Ksardas13 вне форума Ответить с цитированием
Старый 25.05.2011, 03:53   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
ps: Но замечу, клиент хочет прогу на Билдере, а твоя для консоли. =Р
вообще то в билдере есть и консольное приложение.
не сказано же с формами.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.05.2011, 06:51   #8
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
вообще то в билдере есть и консольное приложение.
не сказано же с формами.
Это косвенно предполегается. Иначе написано было-бы в теме "Общие вопросы по С/С++".
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу написать задачу denis273 Паскаль, Turbo Pascal, PascalABC.NET 3 17.03.2011 21:40
Написать программы в Borland C++ Builder. PAREN_DEFO C++ Builder 13 25.12.2010 13:20
Написать программы на С++ Builder. (матрицы) aniche42 C++ Builder 1 19.12.2010 21:49
Помогите написать задачу Crazy biker Помощь студентам 3 27.06.2008 15:43
задача под windows,помогите написать.Надо написать на Borland C++Builder 6. eddddii Помощь студентам 9 23.05.2008 17:04