Форум программистов, компьютерный форум, киберфорум
Наши страницы

Найти длину такого первого идентификатора в строку, в котором произведение всех четных цифр максимально - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что делает функция length? http://www.cyberforum.ru/cpp-beginners/thread344624.html
void main() { using namespace std; string st,stt; cout << "enter name files:" <<endl; char name; cin >> name; ifstream inf(name); getline(inf,st); int i = 0, f = 1;
C++ что за ошибка "новичек" что за ошибка? #include<iostream> using namespace std; int main() { //параметры уравнения double a,b; //логическая переменная для записи проверяемых условий bool... http://www.cyberforum.ru/cpp-beginners/thread344604.html
Цепочка слов C++
Задача: Цепочка слов. Вход – файл на диске in4.dat. состоящий из слов. Разделенных пробелами два последних слова символьное изображение чисел. Выход – на экран дисплея. Дано множество слов...
растолкуйте про хэш плиз C++
на картинке реализация поиска в "hash_map" от Страуструпа. И все бы хорошо если бы не один момент. b и v это векторы. И доступ по индексу в векторе ассоциируется у меня с чем то упорядоченным,...
C++ Вопросы на логику http://www.cyberforum.ru/cpp-beginners/thread344577.html
Добрый день форумчане.... не смогли бы вы задать вопросов на логику или программ каких нибудь? хочу проверить себя... как хорошо соображает голова.... только предупреждаю интернет медленный...
C++ Получить последовательность Решить с помощью списков: 1.Даны натуральное число n, действительные числа a1,..., an. Вычислить: Sqrt(10+(a1)^2)+...+sqrt(10+(an)^2) 2.Даны натуральное число n, действительные числа r1, ...,... подробнее

Показать сообщение отдельно
nameless
Эксперт С++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
23.08.2011, 18:04
lexflax, фиг его знает, если правильно тебя понял, то примерно так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>
 
struct Multiply {
private:
   std::size_t index;
   
public:
   Multiply() : index(1) {  }
   int operator()(int number_one, int number_two) {
      if (!(index++ % 2)) {
         return number_one * number_two;
      } 
      
      return number_one;
   }
};
 
struct Generate {
private:
   std::string::const_iterator p;
 
public:
   Generate(std::string::const_iterator ptr) : p(ptr) {  }
   int operator()() {
      return (*p++ - '0');
   }
};
 
int main() {
   std::string str_numbers = "23434   87568576 1234    3435414 24257   43435 123864872365000*";
   std::vector <std::string> v_str;
   int max_number = 0;
   std::string res;
   
   boost::split(v_str, str_numbers, boost::is_any_of(" *"), boost::token_compress_on);
   
   std::for_each(v_str.begin(), v_str.end(), [&max_number, &res](const std::string& str) {
      std::vector <int> v_nums(str.size());
      std::generate(v_nums.begin(), v_nums.end(), Generate(str.begin()));
      int number = std::accumulate(v_nums.begin(), v_nums.end(), 1, Multiply());
      if (number > max_number) {
         max_number = number;
         res = str;
      }
   } );
   
   std::cout << res.size() << std::endl;
 
   return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru