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

Random for double:( - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая решает уравнение с одним неизвестным и выводит в консоль значение неизвестного. Уравнение посимвольно вводится с клавиатур http://www.cyberforum.ru/cpp-beginners/thread952130.html
Заупутался :-(
C++ Постороить из 2 мерного массива в 1 мерный, который содержит все элементы 2 мерного массива , содержащихся по периметру массива Постороить из 2 мерного массива в 1 мерный, который содержит все элементы 2 мерного массива , содержащихся по периметру массива. http://www.cyberforum.ru/cpp-beginners/thread952127.html
C++ Создание отсортированого массива с двух
Задание: Есть массив c,...c и массив d,...d.С этих двух массивов создать массив f так,чтобы f<=f<=...<=f. #include <iostream> #include <conio.h> using namespace std; void main() { int i,j,c,d,f,t,n,k,q,w,e; cout<<"Input n"<<endl; //ввод переменных n и k
namespace C++
Не могу понять суть пространства имен. Точнее ,в общих чертах , я понял что это,но зачем это нужно?В частности: 1)А зачем они нужны,собственно говоря, если можно а)назвать по другому б)для объединения создать класс ? 2)при описание пространства имен ,например namespace my{ int i; } будет резервироваться память для него?Если да, можно ли сделать чтобы это не происходило? 3) как обратиться к...
C++ Удаление нескольких элементов в list http://www.cyberforum.ru/cpp-beginners/thread952102.html
Собственно, нарушается ли порядок итераторов при удалении? Т.е. могу ли я в цикле по всему list'у, если элемент не удовлетворяет условию, сразу же его удалять? Остальные итераторы не обрушатся? Типа такого: for(auto it = a.begin(); it!=a.end(); ++it) { if (PRED(*it)) { auto temp = it; ++it; a.erase(temp); } }
C++ Как найти слова в строке между пробелами вот прога которая просто считает пробелы, но мне надо слова между пробелами #include <iostream> #include <stdio.h> #include <string> #include <conio.h> #include<clocale> using namespace std; void main(void) { char s; подробнее

Показать сообщение отдельно
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
11.09.2013, 12:27     Random for double:(
Цитата Сообщение от Toshkarik Посмотреть сообщение
Операция % - это взятие остатка от деления для целых чисел. Для чисел с плавающей точкой для этого есть специальная функция fmod, которая принимает в качестве параметров делимое и делитель, и возвращает остаток от деления. Собственно а зачем здесь RAND_MAX?
Если b-a имеет только целую часть, то по твоей формуле по идее окончательный ответ тоже будет иметь только целую часть+дробную от а.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// drand.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <cstdlib>
#include <cmath>
#include <iostream>
 
double DRand2 (double a, double b) {
  return a+static_cast<double>(std::rand())/RAND_MAX*(b-a);
  }
 
double DRand( double a, double b ) {
   return a + std::fmod( static_cast< double >( std::rand()), b - a );
}
 
int _tmain(int argc, _TCHAR* argv[])
{
  for (double a=0, b=1;a<20;++a,b+=2)
    std::cout<<a<<" "<<b<<" Rand: "<<DRand(a,b)<<" Rand2: "<<DRand2(a,b)<<std::endl;
    return 0;
}
Код
0 1 Rand: 0 Rand2: 0.00125126
1 3 Rand: 1 Rand2: 1.38661
2 5 Rand: 3 Rand2: 3.75503
3 7 Rand: 5 Rand2: 4.40117
4 9 Rand: 8 Rand2: 8.1142
5 11 Rand: 10 Rand2: 6.04465
6 13 Rand: 12 Rand2: 10.9735
7 15 Rand: 10 Rand2: 9.43196
8 17 Rand: 16 Rand2: 8.82263
9 19 Rand: 15 Rand2: 10.4731
10 21 Rand: 17 Rand2: 20.8738
11 23 Rand: 20 Rand2: 12.429
12 25 Rand: 18 Rand2: 12.1158
13 27 Rand: 25 Rand2: 20.4433
14 29 Rand: 19 Rand2: 23.0265
15 31 Rand: 29 Rand2: 17.6597
16 33 Rand: 28 Rand2: 23.6634
17 35 Rand: 21 Rand2: 18.0267
18 37 Rand: 21 Rand2: 32.8831
19 39 Rand: 33 Rand2: 29.3977
Press any key to continue . . .
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru