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

Вычислить вероятность того, что массив получен в результате произвольного тасования набора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не могу понять задачу http://www.cyberforum.ru/cpp-beginners/thread343460.html
Имеется задача http://rghost.ru/18509631/image.png 1 Фамилия , Имя - заключить в массив безграничный аля " familia_ima " 2 Знак зодиака - так-же заключить в массив аля "zodiac" 3 Дата рождения, так-же массив "rojdenia" но вывести проверку, если пишем Большими или маленькими буквами , то выводит сообщение "Писать только цифрами" и возврощаемся обратно в массив "rojdenia" (как лучше это...
C++ Именованный конструктор + inline Приветствую, Форумчане! Следующий код, оформленный в одном файле работает на ура. class Point2 { public: static Point2 Decar(double dX, double dY); static Point2 Polar(double angle, double radius); private: double dX; http://www.cyberforum.ru/cpp-beginners/thread343458.html
C++ С++ файлы
Скажите, а как в C++ работать с типизированными файлами.
Опять же MFC и ошибка с типами. Visual C++
Программа сканирует число из Edit Box, сохраняет их и должна вывести, но выводит 0.00000. Возможно это из-за много разных определений типов, вот код: class Try { public: double x1; Try(double x1=0) {}; virtual ~Try(){}; Try (const Try & Try){};
C++ Случайные числа http://www.cyberforum.ru/cpp-beginners/thread343450.html
Всем привет! Мне нужно сгенерировать действительное случайное число в диапазоне от нуля до 1. Читал вот это: http://www.cyberforum.ru/cpp-beginners/thread44753.html, но там говорится про целые числа...
C++ Операция взятия индексан Добрый день)) //--------------------------------------------------------------------------- #pragma hdrstop #include <tchar.h> #include <windows.h> #include <iostream.h> //#include <cassert.h> подробнее

Показать сообщение отдельно
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257
19.08.2011, 15:13     Вычислить вероятность того, что массив получен в результате произвольного тасования набора
Вот задачка с сайта и код:
http://mi.unicyb.kiev.ua/uploads/Doc...domShuffle.htm

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
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <vector>
#include <cmath>
using namespace std;
 
int m[10], cur[10];
int n, s = 0;
 
double probability(vector<int> outputArray) ;
void shuffle(int pos);
void shuffle(int pos)
{
 int i, c;
 if (pos == n)
  {
   for(i = 0; i < n; i++)
   if (m[i] != cur[i]) return;
   s++;
   return;
  }
 for(c = i = 0; i < n; i++)
 if (m[i] != cur[i]) c++;
 if (c > 2 * (n - pos)) return;
 for(i = 0; i < n; i++)
  {
   swap(cur[i],cur[pos]);
   shuffle(pos + 1);
   swap(cur[i],cur[pos]);
  }
}
 
class RandomShuffle
{
 public:
 double probability(vector<int> outputArray) 
  {
   n = outputArray.size();
   for(int i = 0; i < n; i++) m[i] = outputArray[i],cur[i] = i + 1;
   shuffle(0);
   return 1.0 * s / pow((double)n,(double)n);
  }
};
Как вводить данные? Какая должна быть функция main() я чего то не могу разобраться.

Добавлено через 29 минут
Уже сделал, вопрос исчерпан.

 Комментарий модератора 
Больше так сообщения не выделяем.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru