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

вывод генерированных чисел - C++

Восстановить пароль Регистрация
 
Михаил Мишин
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 4
25.07.2013, 15:13     вывод генерированных чисел #1
помогите с программой.
Суть в том что нужно посчитать числа по формулам и получить примерно такой результат..

[214766.440499 , 203465.833446]
[201948.612342 , 200379.636017]
[213022.959401 , 203466.574430]
[202230.247141 , 200074.383247]
[213024.008012 , 203303.826729]
[202230.247141 , 200074.383247]
[212390.424606 , 203255.071348]
[201757.723908 , 200057.670183]
[212390.424606 , 203255.071348]
[201757.723908 , 200057.670183]
[212151.342107 , 203143.768819]
[201948.612342 , 200379.636017]
[210117.843710 , 202652.926948]
[208383.827768 , 202060.302712]
[207618.498464 , 202356.498564]
[207931.999449 , 202864.684641]
[207315.198757 , 202954.197462]
[207579.378934 , 202452.167645]
[207624.718928 , 202325.315464]
[207710.719286 , 201894.646821]
[207683.176998 , 201725.648775]
[207698.464846 , 201587.996584]
[207685.846764 , 201254.498446]
[207691.895346 , 201864.942116]
[207686.753314 , 201984.161321]
[207685.691251 , 201495.314648]
[207686.675212 , 201384.161231]
[207685.652257 , 201339.789465]
[207685.756259 , 201339.463121]
[207685.682251 , 201339.498494]

то есть числа в начале колеблются, а затем стремятся к среднему арифметическому числу.

чтобы числа колебались я сделал.. а вот чтобы они свелись плавно к среднему арифметическому не получается... вот мой код.

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
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
double D=90000, R=200000, V=194, xs=150000, ys=150000, t=120;
double a1,a2,x,y,pogr;
for(R;R<=200200;R+=10)
    {
     float temp=(rand() % 6100+(-3000));
     a1=(atan((D+temp)/R))*(180/3.14);
     a2=(atan((D+temp)/(R-V*t)))*(180/3.14);
     x=xs+((V*t*tan(a2))/(tan(a2)-tan(a1)));
     y=ys+(((D+temp)*(x-xs))/(R-V*t));
     cout<<"[" << x <<" , "<< y <<"]"<<endl;
     xs=xs+194;
     Sleep(3000);
     FILE *f;
     f=fopen("otchet.txt","a");
     fprintf(f,"[%f , %f]\n",x,y);
     fclose(f);
     }
system("PAUSE");
return EXIT_SUCCESS;
}
Добавлено через 1 час 1 минуту
мне хотя бы подсказку как это можно осуществить...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,024
Записей в блоге: 10
Завершенные тесты: 1
25.07.2013, 15:21     вывод генерированных чисел #2
Вопрос сформулируй понятным языком.
Михаил Мишин
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 4
25.07.2013, 15:31  [ТС]     вывод генерированных чисел #3
допустим генерируются числа:
61
84
57
35
67
75
97

нужно сделать так чтобы числа генерируясь постепенно пришли к средне-арфметическому.

то есть примерно так:
61
84
57
35
67
75
97
...
72
64
67
68
68
68
68
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,024
Записей в блоге: 10
Завершенные тесты: 1
25.07.2013, 15:34     вывод генерированных чисел #4
Каким образом генерируются числа? Или это не важно?
Михаил Мишин
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 4
25.07.2013, 15:36  [ТС]     вывод генерированных чисел #5
в принцепе неважно но я их генерировал функцией rand()
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
25.07.2013, 15:41     вывод генерированных чисел #6
извени но из того что ты описал трудно сделать какие либо выводы сделать так чтобы оно выводило такую последовательнось и каждый раз случайную впринципе не сложно но для того чтобы это сделать правильно нужно понимать суть задачи
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,024
Записей в блоге: 10
Завершенные тесты: 1
25.07.2013, 15:49     вывод генерированных чисел #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdio>
#include <cstdlib>
 
int gen( int min, int max ) {
    return rand() % (max - min + 1) + min;
}
 
int main()
{
    int new_min, min =         0;
    int new_max, max = 100000000;
    for ( int i = 0; i < 100; i++ ) {
        new_min = gen( min, (max - min) / 8 + min );
        new_max = gen( max - (max - min) / 8, max );
        min = new_min;
        max = new_max;
        printf( "%9d\n", (min + max) / 2 );
    }
}
Вывод:
Кликните здесь для просмотра всего текста
Bash
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 43759254
 38305769
 33535792
 29367429
 25726841
 22535909
 19747686
 17296072
 15154398
 13278471
 11656004
 10218924
  8966276
  7881978
  6937132
  6106637
  5380203
  4744155
  4202939
  3720065
  3312473
  2963987
  2643319
  2365201
  2129874
  1936530
  1776662
  1624598
  1486831
  1372297
  1269042
  1184575
  1116620
  1050990
  1006659
   974946
   936313
   913045
   898926
   879364
   867452
   865375
   859848
   848229
   852632
   848272
   842521
   845027
   843475
   846322
   848207
   850003
   851678
   846775
   850631
   851876
   851169
   853562
   852526
   854723
   855812
   854651
   854968
   855341
   854386
   854876
   854810
   855071
   855445
   855428
   855131
   855362
   855418
   855232
   855154
   855056
   855180
   855183
   855150
   855089
   855040
   855064
   855028
   855011
   855015
   855013
   854981
   854986
   854965
   854942
   854954
   854955
   854959
   854944
   854939
   854940
   854930
   854933
   854935
   854941
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
25.07.2013, 15:54     вывод генерированных чисел #8
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
#include <iostream>
using namespace std;
void main()
{
    int b=0;
    int a=0;
    while(b!=10)
    {
        a+=rand()%100;
        b++;
        cout<<a<<endl;
    }
    a/=b;
    while(1)
    {
        
        if(b!=0)
        {
            if(rand()%2==0)cout<<a-(rand()%b)<<endl;
            else cout<<a+rand()%b<<endl;
            b--;
        }
        else
            cout<<a<<endl;
 
    }
}
ХДД токо зачем этот бред нуджин так и не понятно)
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,333
Завершенные тесты: 1
25.07.2013, 16:13     вывод генерированных чисел #9
Есть у меня одна телепатическая догадка, что это как-то связанно со сходимостью каких-нибудь рядов или чем-то таким. И таким образом нужно показать как значения устаканиваются, стремясь к одному какому-то заданному. Возможно среднему арифметическому.
Если сверху вниз смотреть каждый столбец, будут пары:
214766.440499
201948.612342

213022.959401
202230.247141

213024.008012
202230.247141

212390.424606
201757.723908

Верхнее значение на каждой итерации почти всегда уменьшается, а нижнее, напротив, увеличивается. Эти пары стремятся, видимо, к среднему арифметическому. и во втором столбце такая же история с парами. Толлько вот по какому закону они считаются непонятно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2013, 16:18     вывод генерированных чисел
Еще ссылки по теме:

Вывод чисел словами C++
Вывод простых чисел C++
вывод чисел C++

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

Или воспользуйтесь поиском по форуму:
Михаил Мишин
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 4
25.07.2013, 16:18  [ТС]     вывод генерированных чисел #10
castaway, Спасибо большое!!=))

и всем кто тоже попытался помочь тоже спасибо=))
Yandex
Объявления
25.07.2013, 16:18     вывод генерированных чисел
Ответ Создать тему
Опции темы

Текущее время: 23:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru