Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
sQyOs
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 13
0

Надо переписать код C++ на Pascal

22.05.2012, 01:53. Просмотров 457. Ответов 4
Метки (Все метки)

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include <iostream>
#include <math.h>
#include <vector>
using namespace std;
vector<double> a, x, y, xx, p, tp, ksi;
vector<int> d;
 
int n, x0;
 
int seed(int x)
{
    x0 = x;
    return x0;
}
 
int rand_i()
{
    int a = 21404, c = 253565757;
    int m = pow(2.0, 32);
    int x;
 
    x = (a*x0 + c) % m;
    if(x < 0) 
        x *= -1;
    x0 = x;
 
    return x;
}
 
double rand_f()
{
    double a1 = 8, c1 = 65, y;
    int m = 100000;
 
    y = (int) (a1*x0 + c1) % m;
    x0 = y;
 
    return y / (double) m;
}
 
double RavnQuant(double x, double alpha, double beta)       // равномерное
{
    return alpha + (beta - alpha) * x;
}
 
double NormQuant(double z1, double z2, double s, double Mx, double Dx)      // нормальное 
{
    double x1;
    x1 = z1 * sqrt(2 * log(s) / s);
    return x1*Dx + Mx;
}
 
double ExpQuant(double x)      // экспоненциальное
{
    double lambda = 0.5;
    return log(1 - x) / (-lambda);
}
 
int DiskretQuant(double y)      // дискретное
{
    d.resize(5);
    p.resize(5);
    d[0] = 1; d[1] = 2; d[2] = 3; d[3] = 4; d[4] = 5;
    p[0] = 0.05; p[1] = 0.3; p[2] = 0.1; p[3] = 0.5; p[4] = 0.05;
    if (y > 0 && y <= 0.05)
        return d[0];
    else
        if (y > 0.05 && y <= 0.35)
            return d[1];
        else
            if (y > 0.35 && y <= 0.45)
                return d[2];
            else
                if (y > 0.45 && y <= 0.95)
                    return d[3];
                    else
                        if (y > 0.95 && y <= 1.0)
                            return d[4];
}
 
double F(double x, double alpha, double beta)
{
    return (x - alpha) / (beta - alpha);
}
 
int main()
{
    int i;
    double S;
 
    /////////// X^2 ////////////////////////////////
    int r = 0, k;
    double xi = 0, alpha = 1, beta = 1000;
    printf("Enter count of number = ");
    scanf("%d", &n);
    ksi.resize(n);
    x.resize(n);
    printf("\n");
    for(i = 0; i < n; i++)
    {
        ksi[i] = rand_f();
        printf("%0.3f ", ksi[i]);
        x[i] = RavnQuant(ksi[i], alpha, beta);
    }
    printf("\n");
    for(i = 0; i < n; i++)
        printf("%0.3f ", x[i]);
    printf("\n\n");
    printf("Enter count of groups = ");
    scanf("%d", &k);
    printf("\n");
    p.resize(k);
    tp.resize(k);
    xx.resize(k);
    a.resize(k+1);
    for(i = 0; i < k; i++)
    {
        p[i] = 0;
        a[0] = alpha;
        a[i+1] = a[i] + (beta - alpha) / k;
    }
    for(i = 0; i < n; i++)
        for(int j = 0; j < k; j++)
            if(x[i] >= a[j] && x[i] < a[j+1])
                p[j] += 1;
            else
                p[j] += 0;
    printf("Experimental p\n");
    for(i = 0; i < k; i++) {
        p[i] /= n;
        printf("%0.3f ", p[i]);
    }
    printf("\n");
    for(i = 0; i < k; i++)
    {
        tp[i] = F(a[i+1], alpha, beta) - F(a[i], alpha, beta);
    }
    printf("Teoretical p\n");
    for(i = 0; i < k; i++)
        printf("%0.2f ", tp[i]);
    printf("\n");
    for(i = 0; i < k; i++) {
        xi += pow(p[i] - tp[i], 2) / tp[i];
    }
    xi *= n;
    printf("\nX^2 = %0.3f", xi);
    printf("\n\n");
 
    return 0;
}


Вернуться к обсуждению:
Надо переписать код C++ на Pascal
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 01:53
Готовые ответы и решения:

Задача Суслик и Собака (Переписать код C++ на Pascal)
Суслик и собака Время: 1 сек Память: 16 Мб Здравствуйте, есть задача: ...

Переписать код с C# на pascal
using System; public class Test { public static void Main() { //...

Нужно перевести код с Pascal ABC на Turbo Pascal - рисование работающей мельницы
Вот код, он должен рисовать работающею мельницу. uses graphABC,crt; type...

Переписать задачу на Pascal
Товарищи, пожалуйста помогите переписать задачи с С++ на Pascal. Хотя бы...

Переписать программу с Basic на Pascal
Доброго времени суток! Перепишите, пожалуйста, программу на Паскаль... Я не...

4
Другие темы раздела
Turbo Pascal Вводится целое число. Вывести на экран сумму цифр числа с четными номерами и с нечетными http://www.cyberforum.ru/turbo-pascal/thread582069.html
прошу помощи написать програму к какойто из них №1 Вводится целое число, что больше чем 500 и меньше чем 30000. Вывести на экран суму цифр этого числа с непарными номерами и с парными. (Написать...
Turbo Pascal Двумерный массив. Найти произведение всех элементов каждого столбца массива Дан двухмерный массив размером M x N. Найти произведение всех элементов каждого столбца массива. Из первых четырех строк массива сформировать четыре новых вектора (одномерные массивы). Преобразовать... http://www.cyberforum.ru/turbo-pascal/thread582036.html
Turbo Pascal Строки. Напечатать те слова последовательности, которые отличны от первого слова и удовлетворяют заданным свойствам
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не менее одного пробела, за последним словом - точка....
mpi параллельное программирование Turbo Pascal
помогите написать программу прикрепляю pdf с заданием и описанием
Turbo Pascal Определить потребление электроэнергии за 1 квартал http://www.cyberforum.ru/turbo-pascal/thread581967.html
Помогите хоть чем ни-будь,хоть одну... или подскажите что ни-будь... Условие: Управление 5 шт. 5 кВт*ч Цеха 6 шт. 100 кВт*ч Службы...
Turbo Pascal В первом массиве расположить положительные и нулевые элементы матрицы, а в другом – отрицательные ДВУХМЕРНЫЕ МАССИВЫ Помогите пожалуйста написать. Создать из квадратной матрицы два одномерных массива, в первом расположены положительные и нулевые элементы, а в другом – отрицательные.. ... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru