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

заполнение вектора по модулю - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как реализовать второй рабочий стол своей же системы в окне браузера? http://www.cyberforum.ru/cpp-beginners/thread1087793.html
Я профан, поэтому прошу профессионалов разъяснить, возможно ли такое написать. В общем проблема такая — в страницу браузера, сайта требуется автоматически эмулировать второй рабочий стол операционной...
C++ Отладить функцию для сложения, вычитания, умножения и деления двух чисел Не могу найти ошибок,программа не правильно работает. Вот условие : Напишите программу, которая использукет 4 функции. Каждая функция используется для сложения, вычитания, умножения и деления двух... http://www.cyberforum.ru/cpp-beginners/thread1087787.html
Расставить арифметические знаки в выражении C++
Здравствуйте, хочу представить вашему внимаю одну задачу из олимпиадной работы. У меня самого котелок еще не доварил как её решить, поэтому хочу предоставить эту возможность вам!) Не уделяйте...
C++ Предупреждение 2 warning LNK4075: не учитывается "/INCREMENTAL"
Предупреждение 1 warning C4996: 'swprintf': swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set...
C++ Напишите программу, которая по желанию пользователя выводит таблицу пересчета из дюймов в сантиметры на экран http://www.cyberforum.ru/cpp-beginners/thread1087775.html
46. Напишите программу, которая по желанию пользователя выводит таблицу пересчета из дюймов в сантиметры на экран, принтер или в файл. Ниже приведен рекомендуемый вид экрана во время работы программы...
C++ Составить функцию по составлению дробной части числа суммы элементов массива Класс DoubleArray. Тип элементов массива – double. Функция (fract) – определения дробной части числа суммы элементов массива. Помогите пожалуйста составить функцию по составлению дробной части... подробнее

Показать сообщение отдельно
TrueBit
96 / 96 / 12
Регистрация: 19.11.2012
Сообщений: 195
02.02.2014, 21:58  [ТС]
Цитата Сообщение от Somebody Посмотреть сообщение
В C++11 rand по модулю на фиг не нужен, там uniform_int_distribution есть.
В C++98 можно
C++
1
2
std::transform(vector.begin(), vector.end(), vector.begin(),
  std::bind2nd(std::modulus<int>(), 2));
но vector всё равно из-за этого придётся делать int, чтобы туда сначала результаты rand'ов писать.
Еще бы с диапазоном и было бы норм. Например для диапазона значений [-10,10] можно так, но это как-то неприлично смотрится(к тому же 2 прохода transform):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <functional>
 
int main() {
    srand(unsigned(std::time(0)));
    std::vector<int> vector(10);
 
    std::generate(vector.begin(),vector.end(),rand);
    std::transform(vector.begin(),std::transform(vector.begin(),vector.end(),vector.begin(),std::bind2nd(std::modulus<int>(),21)),vector.begin(), std::bind2nd(std::minus<int>(),10));
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru