1 / 1 / 1
Регистрация: 21.10.2013
Сообщений: 115
1

Программа - Имитация подбрасываний монеты. Что не так?

31.05.2015, 14:10. Показов 1872. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream.h>
#include <stdlib.h>
int heads()
  { return rand() < RAND MAX/2; }
int main(int argc, char *argv[])
  { int i, j, cnt;
    int N = atoi(argv[1]), M = atoi(argv[2]);
    int *f = new int[N+1];
    for (j = 0; j <= N; j + +) f[j] = 0;
    for (i = 0; i < M; i++, f[cnt]++)
      for (cnt = 0, j = 0; j <= N; j++)
        if (heads()) cnt++;
    for (j = 0; j <= N; j++)
      { if (f[j] == 0) cout << ".";
        for (i = 0; i < f[j]; i += 10) cout << "*";
        cout << endl;
      }
  }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2015, 14:10
Ответы с готовыми решениями:

Игральную кость подбросили три раза. Найти вероятность что сумма всех подбрасываний будет 18?
Игральную кость подбросили три раза,какова вероятность того что сумма всех подбрасываний будет...

Программа на си, что не так?
#include&lt;stdio.h&gt; int main(void) { char a,b,c; int chislo; printf(&quot;Введите 3-х...

Trial-программа. что не так?
Всем привет) есть код, который позволяет сделать программу временной, т.е. по истечению дней нужно...

Программа моделирующая бросание монеты
Написал программу моделирующая 100 бросаний монеты. Все работает, но почему-то все 100 раз выпадает...

11
Просто Лис
Эксперт Python
5321 / 3335 / 1021
Регистрация: 17.05.2012
Сообщений: 9,768
Записей в блоге: 9
31.05.2015, 14:33 2
Лучший ответ Сообщение было отмечено Аннaa как решение

Решение

Нет инициализации генератора псевдослучайных чисел.
C++
1
srand(time(NULL));
см. Программа моделирующая бросание монеты
1
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
31.05.2015, 14:41 3
+ утечка памяти. + промолчу про стиль кода.
0
3 / 3 / 1
Регистрация: 24.05.2015
Сообщений: 67
31.05.2015, 14:57 4
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#incude <time.h>
bool heads() {
return rand()%2;
}
int main() {
srand(time(0));
bool a = heads();
std::cout << a;
return 0;
}
Данную реализацию считаю более приямлимой
0
Модератор
Эксперт по электронике
8876 / 6651 / 911
Регистрация: 14.02.2011
Сообщений: 23,411
31.05.2015, 15:02 5
Цитата Сообщение от Аннaa Посмотреть сообщение
int i, j, cnt;
Цитата Сообщение от Аннaa Посмотреть сообщение
f[cnt]++
чему равно cnt??? в какую ячейку пишем?
0
1 / 1 / 1
Регистрация: 21.10.2013
Сообщений: 115
31.05.2015, 15:06  [ТС] 6
возьму этот код, объясните, пожалуйста, каждую строчку этого кода
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
#include<iostream>
#include <stdlib.h>
#include<time.h>
 
using namespace std;
 
int flip();
 
int main()
{
    srand(time(NULL));
    for (int i = 1; i <= 100; i++)
    {
        if (flip() == 0)
            cout << i << ": Orel" << endl;
        else
            cout << i << ": Rewka" << endl;
    }
    return 0;
}
 
inline int flip()
{
    return rand()%2;
}
0
3 / 3 / 1
Регистрация: 24.05.2015
Сообщений: 67
31.05.2015, 15:17 7
Аннaa, Вы с лёгкостью можете найти интересующие Вас аспекты синтаксиса в интернете.
0
Просто Лис
Эксперт Python
5321 / 3335 / 1021
Регистрация: 17.05.2012
Сообщений: 9,768
Записей в блоге: 9
31.05.2015, 15:17 8
Лучший ответ Сообщение было отмечено Аннaa как решение

Решение

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
#include<iostream>
#include <stdlib.h>
#include<time.h>
 
using namespace std;
 
int flip();//объявление функции
 
int main()//главная функция
{
    srand(time(NULL));//инициализация генератора псевдослучайных чисел
    for (int i = 1; i <= 100; i++)//бросаем "монетку" сто раз
    {
        if (flip() == 0)//"бросили". Вызов функции. Проверяем что вернула функция
            cout << i << ": Orel" << endl;//и вывод на экран
        else
            cout << i << ": Rewka" << endl;
    }
    return 0;
}
 
inline int flip()//реализация функции
{
    return rand()%2;//возвращает 0 или 1 с вероятностью 50%
}
1
1 / 1 / 1
Регистрация: 21.10.2013
Сообщений: 115
31.05.2015, 15:21  [ТС] 9
Большое спасибо!!!!
0
67 / 67 / 72
Регистрация: 10.04.2015
Сообщений: 281
04.06.2015, 23:53 10
C++
1
2
float d = atof(argv[2]); 
N = atoi(argv[1]);
С аргументами запускаете программу?
0
1 / 1 / 1
Регистрация: 21.10.2013
Сообщений: 115
04.06.2015, 23:55  [ТС] 11
мне нужно её переделать, чтоб она заработала
0
67 / 67 / 72
Регистрация: 10.04.2015
Сообщений: 281
05.06.2015, 00:01 12
Цитата Сообщение от Аннaa Посмотреть сообщение
мне нужно её переделать, чтоб она заработала
Замечательно. Переделывайте.
PS:
- не вижу функции distance(int,int);
- "Point.h" ??
- при запуске дописать Int и Float в качестве параметров запуска.
0
05.06.2015, 00:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2015, 00:01
Помогаю со студенческими работами здесь

программа виснет, не знаю что не так
Дана квадратная целочисленная матрица. Определить, является ли она магическим квадратом. В...

Не работает программа, подскажите что не так ?
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; void main(void) { char F1, F2, F3; unsigned int K1,...

Программа выдает ошибки, что не так?
1 форма Option Explicit Dim H As String Dim W As String Dim L As Integer Dim j As Integer...

Ребят есть программа, но что-то не так.
Условие такое: Найти самое длинное симметричное слово заданного предложения, например АККА. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru