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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Inn@
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 6
#1

Задача на рандом(с гистограммой) - C++

29.03.2014, 21:33. Просмотров 273. Ответов 0
Метки нет (Все метки)

Получить с помощью генератора случайных чисел 200 значений в указанном диапазоне из множества {1; 0,1; 0,01; …; 10–19};
По значениям оценить равномерность распределения. Разбить интервал на 10 интервалов равной длины и построить горизонтальную гистограмму (столбчатую диаграмму), показывающую, сколько значений попало в каждый интервал.
Пример гистограммы для интервала (0,1):
0.0..0.09 *******
0.1..0.19 *********
0.2..0.29 ********

0.9..1.0 *******
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <cmath>
 
 
 
int s[10];
void main()
{
    int i;
    float x[200];
    time_t t;
    printf("random numbers from {1; 0,1; 0,01; …;}\n\n");
    srand((unsigned)time(&t));
    for (i = 0; i < 200; i++)
    {
        x[i] = pow(10, rand() % 19 - 19);
        printf("%15e ", x[i]);
    }//сортировка на равные части 
    printf("[1;0.1]:");
    for (i = 0; i <200 ; i++)
    {
        if ((x[i] <= 1) && (x[i] >= 0.1))
        printf("*");
    }
    printf("\n [10^-2;10^-3]");
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -2)) && (x[i] >= pow(10, -3)))
        printf("*");
    }
    printf("\n [10^-4;10^-5]");
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -4)) && (x[i] >= pow(10, -5)))
        printf("*");
    }
    printf("\n [10^-6;10^-7] ");
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -6)) && (x[i] >= pow(10, -7)))
        printf("*");
    }
    printf("\n [10^-8;10^-9]");
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -8)) && (x[i] >= pow(10, -9)))
        printf("*");
    }
    printf("\n [10^-10;10^-11]");
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -10)) && (x[i] >= pow(10, -11)))
        printf("*");
    }
    printf("\n [10^-12:10^-13]");
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -12)) && (x[i] >= pow(10, -13)))
        printf("*");
    }
    printf("\n [10^-14;10^-15]");
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -14)) && (x[i] >= pow(10, -15)))
        printf("*");
    }
    printf("\n [10^-16;10^-17]");
 
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -16)) && (x[i] >= pow(10, -17)))
        printf("*");
    }
    printf(" \n [10^-18;10^-19]");
 
    for (i = 0; i < 200; i++)
    {
        if ((x[i] <= pow(10, -18)) && (x[i] >= pow(10, -19)))
        printf("*");
    }
    _getch();
}
Задача на рандом(с гистограммой)
Помогите плиз...не пойму почему с 10 по 11, 16-19 степень не выводятся *..почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 21:33     Задача на рандом(с гистограммой)
Посмотрите здесь:

Рандом C++
рандом C++
символы и рандом C++
Рандом C++
рандом C++
C++ Рандом с исключением
Рандом растет C++
C++ Про рандом
Рандом C++
C++ Рандом
Рандом в табилце C++
Не работает рандом C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru