Форум программистов, компьютерный форум CyberForum.ru

Массив размерностью 100 заполнить случайными числами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подсчитать суммарное количество подтягиваний в лесенку. Работа с файлами. http://www.cyberforum.ru/cpp-beginners/thread984502.html
1.1. Подтягивание Входной файл input.txt Выходного файл output.txt Ограничение по времени: 1 секунда Ограничение по памяти: 64 МБ Серега и Костен — заядлые спортсмены. Как обычно, они качались на турниках. В этот момент к ним подошла Маша и дала тонкий намек на то, что не отказалась бы посмотреть, как ребята играют в лесенку вплоть до N подтягиваний, а победитель получит приз. Игра в...
C++ С++ нужно написать программу, не могу справится Поле first – дробное положительное число, оклад; поле second – целое число, количество отработанных дней в месяце. Реализовать метод summa ( ) – вычисление начисленной суммы за данное количество дней для заданного месяца: оклад/дни_месяца * отработанные_дни. http://www.cyberforum.ru/cpp-beginners/thread984487.html
C++ Ошибка в структуре?
Помогите решить структуру #include <stdio.h> #include <cstdlib> #include <string.h> using namespace std; struct atc { char datarozgovora; char kodgoroda; char nazvagoroda; char vremyarazgovora;
Подскажите функцию, аналогичную ф-ции getch() C++
Так как функция getch() считывает информацию до символа новой строки, мне нужна функция, считывающая весь текст целиком. Желательно в таком контексте: ifstream fin("Task.txt"); getch(fin, input); // в данном случае считывает до '\n'
C++ Возвращаемое значение делигата http://www.cyberforum.ru/cpp-beginners/thread984462.html
Сделал делигат, который принимает до 4-х аргументов функции, которая принимает любой из типой для возвращаемого значения. Вот собственно файл Delegate.h struct VOID{}; class IArgument {public: virtual ~IArgument(){}};
C++ 2. Написать алгоритм, классифицирующий треугольники (остроугольные, прямоугольные, тупоугольные), если даны углы Написать алгоритм, классифицирующий треугольники (остроугольные, прямоугольные, тупоугольные), если даны углы. подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.10.2013, 16:16     Массив размерностью 100 заполнить случайными числами
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
56
57
58
59
60
61
62
#include <random>
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
template<typename It, typename Cmp>
std::pair<It, It> find_range(It first, It last, Cmp comp)
{
   if (first == last)
   {
      return std::make_pair(last, last);
   }
   It range_start = last, range_end = last;
   while (first != last)
   {
      if (comp(*first))
      {
         if (range_start == last)
         {
            range_start = first;
         }
      }
      else
      {
         if (range_start != last)
         {
            range_end = first;
            break;
         }
      }
      ++first;
   }
   return std::make_pair(range_start, range_end);
}
 
int main()
{
   const size_t size = 100;
   std::mt19937 gen(time(0));
   std::uniform_int_distribution<> distr(-10, 10);
   std::vector<int> v(size);
   std::generate(v.begin(), v.end(), [&distr, &gen]() { return distr(gen); });
   std::cout << "generated: ";
   std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl;
   auto lambda = [](int val) { return val > 0; };
   auto range = find_range(v.begin(), v.end(), lambda);
   while (range.first != v.end())
   {
      auto average = std::accumulate(range.first, range.second, 0) / std::distance(range.first, range.second);
      auto minmax = std::minmax_element(range.first, range.second);
      std::replace_if(range.first, range.second, [&minmax](int val)
      {
         return val == *minmax.first || val == *minmax.second;
      }, average);
      range = find_range(range.second, v.end(), lambda);
   }
   std::cout << "after replace vector is: ";
   std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl;
}
 
Текущее время: 07:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru