![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 06.04.2012
Сообщений: 3
|
![]()
Здравствуйте форумчане!
Начал разбираться с языком по учебнику Страуструпа одно из упражнений: Введите последовательность (возможно с символами-разделителями) пар (имя, значение), где имя является словом, отделяемым символами-разделителями, а значение- целым или числом с плавающей точкой. Вычислите и выведите сумму и среднее как для каждого отдельного имени, так и для всех имен Подскажите пожалуйста как можно оптимизировать по скорости и памяти, использовал, как видно из кода, только STL. Например я использовал vector<double> для хранения всех значений, но в случае когда вводится множество целых значений память расходуется впустую. Заранее благодарен. И как определить десятичный разделитель в системе? собственно код: Код:
Последний раз редактировалось waspyd; 10.04.2012 в 04:53. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
waspyd
Подскажите пожалуйста как можно оптимизировать по скорости и памяти, использовал судя по коду, совершенно ненужные выделения памяти типа std::vector<double>* pvec = new std::vector<double>(); которые к тому же не освобождаются и вообще, злоупотребление указателями. а кто все это освобождать будет, Пушкин? такое впечатление, что тебе шепнули на ухо что это круто, и чоткие патсаны только их и юзают, и ты бездумно налепил указателей везде где только можно. > point_met ? ok=false : point_met=true; обычно такая конструкция сразу указывает что код является претендентом на попадание на сайт govnokod.ru использование велосипедов - собственный парсинг вместо штатных возможностей, игнорирование стандартных алгоритмов, вроде std::accumulate также код трудно читать, пробелы и отступы и не ночевали, поэтому асилил только половину, дальше мучать себя не стал. как определить десятичный разделитель в системе? #include <locale> char sep = std::use_facet< std::numpunct<char> >(std::locale(тут локаль для которой определяем)).thousands_sep();
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
Последний раз редактировалось Rififi; 10.04.2012 в 10:38. |
![]() |
![]() |
![]() |
#3 | ||||||
Регистрация: 06.04.2012
Сообщений: 3
|
![]() Цитата:
и сразу еще вопрос: в чем отличие: std::vector<double>* pvec = new std::vector<double>(); от std::vector<double>* pvec = new std::vector<double>; Цитата:
Цитата:
![]() вопрос: в каких случаях эта конструкция допустима и полезна? Цитата:
![]() Цитата:
![]() Цитата:
|
||||||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ваше мнение | MDS | Софт | 7 | 30.11.2009 17:14 |
Ваше мнение | ArtiombI4 | Помощь студентам | 3 | 11.05.2009 16:24 |
ваше мнение | Мамочка | Свободное общение | 0 | 08.05.2008 13:46 |