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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 14:45   #31
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

По-моему, в сях getch нормально покатит. А в C++ уж если используются потоки, то не плодим лишних сущностей и пишем
Код:
std::cin.ignore();
std::cin.get();
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума
Старый 23.12.2010, 14:49   #32
katena88
Пользователь
 
Аватар для katena88
 
Регистрация: 25.10.2010
Сообщений: 41
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
я и не думал ругаться. просто люблю точность.
и не люблю людей, которые в конце прог ставят getch
Ну воть((( меня уже не любят((((
Руки программиста должны быть прямые, а извилины кривые, но не наоборот
katena88 вне форума
Старый 23.12.2010, 14:52   #33
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2kenwood2010
думать надо.
1. запускать консольные проги в КОНСОЛЕ (ты прекинь, да. консольные проги в консоле. уму непостижимо).
2. если запускаешь из ide, то не запускай в режиме отладки. в студии например жми ctrl + f5, а не просто f5.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 23.12.2010, 15:00   #34
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

а я ставлю в конце
int a;
std::cin >> a;
можешь меня не любить)
UltimaBeaR вне форума
Старый 23.12.2010, 15:06   #35
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2UltimaBeaR
для чего загаживать код?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 23.12.2010, 15:10   #36
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

чтобэ окошко не закрылось а код консольный обычно и так гадкий его уже ничем не испортить )
UltimaBeaR вне форума
Старый 23.12.2010, 15:12   #37
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
int a;
std::cin >> a;
Ну это уже совсем извращение, особенно если ввести какой-нибудь левый набор символов. Ловить необработанное исключение под конец успешно отработавшей программы - тот еще изврат.
Блин, флуда развели...
Кстати, если уж мы тут все друг друга учим жить, то правильно пишется не "в консолЕ", а "в консолИ"
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума
Старый 23.12.2010, 15:12   #38
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Doublepost
P.S.
Цитата:
а код консольный обычно и так гадкий его уже ничем не испортить
Вы просто этих кошек готовить не умеете.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же

Последний раз редактировалось Гром; 23.12.2010 в 15:17.
Гром вне форума
Старый 23.12.2010, 15:16   #39
UltimaBeaR
Форумчанин
 
Аватар для UltimaBeaR
 
Регистрация: 21.12.2010
Сообщений: 199
По умолчанию

ну и что программа то отработала
UltimaBeaR вне форума
Старый 23.12.2010, 15:21   #40
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2UltimaBeaR
я уже ответил что делать, чтоб окошко не закрывалось. спрашиваю еще раз. для чего тогда загаживать код?

2katena88
яб вот так сделал твое задание
Код:
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <time.h>

using namespace std;

#define ELEMS 100
#define RANGE_FROM 21
#define RANGE_TO 254

typedef int MyType;
typedef vector<MyType> MyArray;

//----------------------------------------------------------------
class Compare : public unary_function<MyType, void> {
	typedef int (*Foo)(MyType);
public:
	Compare(MyArray *arr, Foo f) : pArray(arr), pF(f)
	{}

	void operator()(const MyType &i)
	{
		if (isalpha(i) && pF(i))
			pArray->push_back(i);
	}

private:
	Foo pF;
	MyArray *pArray;
};

//----------------------------------------------------------------
bool Cmp(const MyType &t1, const MyType &t2)
{ return t1 < t2; }

//----------------------------------------------------------------
void Cout(const MyType &i)
{ cout << static_cast<char>(i) << " "; }

//----------------------------------------------------------------
int main()
{
	MyArray mainArr, upperArr, lowerArr;

	srand((unsigned)time(0));

	// заполняем
	for (int i = 0; i < ELEMS; i++)
		mainArr.push_back((rand() % (RANGE_TO - RANGE_FROM) + RANGE_FROM + 1));

	// выбираем заглавные и прописные
	for_each(mainArr.begin(), mainArr.end(), Compare(&upperArr, isupper));
	for_each(mainArr.begin(), mainArr.end(), Compare(&lowerArr, islower));
	
	// сортируем
	sort(upperArr.begin(), upperArr.end(), Cmp);
	sort(lowerArr.begin(), lowerArr.end(), Cmp);

	// выводим основной
	cout << "source array:" << endl;
	for_each(mainArr.begin(), mainArr.end(), Cout);
	cout << endl;

	// выводим заглавный
	cout << endl << "upper array:" << endl;
	for_each(upperArr.begin(), upperArr.end(), Cout);
	cout << endl;
	
	// выводим прописной
	cout << endl << "lower array:" << endl;
	for_each(lowerArr.begin(), lowerArr.end(), Cout);
	cout << endl;

	return 0;
}
хотя канеш не отпимизировано, нужно за 1 проход делать выборку и вставлять уже в отсортированную последовательность. но зато так нагляднее

на новом стандарте плюсов можно еще красивее и компактнее написать. лямбда функции все же вещь
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 23.12.2010 в 15:31.
pproger вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очистка динамического массива JohnnySuperb Общие вопросы Delphi 11 10.12.2010 07:47
очистка динамического массива BattleMage Общие вопросы C/C++ 1 19.09.2009 09:03
Освобождение динамического массива? VintProg Общие вопросы Delphi 15 28.08.2009 10:41
Сохранение динамического массива Horus92 Помощь студентам 3 07.05.2009 12:36
объявление массива Crasty Помощь студентам 7 05.11.2008 17:18