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

variable is being used without being initializied - C++

Восстановить пароль Регистрация
 
sasha0123
7 / 7 / 0
Регистрация: 03.12.2010
Сообщений: 45
23.01.2012, 13:28     variable is being used without being initializied #1
Доброго времени суток !!!
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
#include <math.h>
#include <sys/timeb.h>
#include <iostream>
using namespace std;
#define n 4
//#define x01 0.21878104
//#define x02 30121
#define ConstL 805
#define g 16
#define mer 2798
const double x01 = 0.05612330;
const double x02 = 57017;
 
class Timer {
    timeb _start, _stop;
public:
    void start() { ftime(&_start); }
    void stop() { ftime(&_stop); }
 
    const timeb& getStartTime() const { return _start; }
    const timeb& getStopTime() const { return _stop; }
 
    int seconds() const { return  ((int)_stop.time - (int)_start.time); }
    int milliseconds() const { return 1000*seconds() + (_stop.millitm - _start.millitm); }
};
 
double a1;
int a2;
double a3;
unsigned int MT[624];  // стан генератора (тип даних int повинен бути 32-бітним, беззнаковим)
unsigned int index = 0;
 
void SerKvad();
void Multik();
void InitialiseGenerator ( int seed );
void GenerateNumbers();
long int ExtractNumber();
 
void main()
{
    cout<<"Metod seredunnux kvadrativ:"<<endl;
    a1=x01;
    cout<<"Zgenerovano 10 4usel:"<<endl;
    for(int i=0;i<10;i++)
    {
        SerKvad();
        cout<<i+1<<") "<<a1<<endl;
    }
    cout<<"--------------------------------------------------------------------"<<endl;
    cout<<"Myltuplikatuvnuj metod:"<<endl;
    a2=x02;
    cout<<"Zgenerovano 10 4usel:"<<endl;
    for(int i=0;i<10;i++)
    {
        Multik();
        cout<<i+1<<") "<<a3<<endl;;
    }
    cout<<"--------------------------------------------------------------------"<<endl;
    int t;
    t=mer;
    double j;
    cout<<"Vuxr Mersona:"<<endl;
    cout<<"Zgenerovano 10 4usel:"<<endl;
    InitialiseGenerator(t);
    for(int i=0;i<10;i++)
        {
        j=ExtractNumber();
        cout<<i+1<<") "<<j/4294967296<<endl;;
        }
    cout<<"--------------------------------------------------------------------"<<endl;
    Timer timer;
 
    timer.start();
    for(int i=0;i<1050000;i++)
    {
        SerKvad();
    }
float t1,t2;
timer.stop();
 
cout<<"4as 1 tsukly Metody serednix kvadrativ:"<<endl;
t1= timer.milliseconds()*105;
cout <<t1<<"*10^(-7) c."<<endl;
  cout<<"--------------------------------------------------------------------"<<endl;
timer.start();
for(int i=0;i<1050000;i++)
    {
        Multik();
    }
timer.stop();
 
cout<<"4as 1 tsukly Myltuplikatuvnogo metody:"<<endl;
t2=timer.milliseconds()*105;
cout <<t2<<"*10^(-7) c."<<endl;
cout<<"--------------------------------------------------------------------"<<endl;
 
timer.start();
for(int i=0;i<1050000;i++)
    {
            j=ExtractNumber();
    }
timer.stop();
 
cout<<"4as 1 tsukly metody 'Vuxor Mersona':"<<endl;
t2=timer.milliseconds()*105;
cout <<t2<<"*10^(-7) c."<<endl;
cout<<"--------------------------------------------------------------------"<<endl;
 
system("pause");
}
 
//metod seredunnux kvadrativ
void SerKvad()
{
    float x1,x2,y[2*n];
    int x[4*n];
    int i,j;
 
    x1=a1; //po4atkove zna4ennja
    x1=x1*x1;
    for(i=0;i<4*n;i++)
    {
        x1=x1*10;
        x[i]=x1;
        x1=x1-x[i];
    }
    for(i=n;i<3*n;i++)
    {
        y[i-n]=x[i]/pow(10,(double)i-3);
    }
    for(i=0;i<2*n;i++)
    x2=x2+y[i];
    a1=x2;
}
 
//multuplikatuvnuj metod
void Multik()
{
    int x0,l;
    float x1;
    int i,j;
 
    x0=a2;
    l=ConstL;
 
    //generatsija 4usla
    x1=(x0*l)%65536;
    a2=x1;
    x1=x1/65536;
    a3=x1;
}
//----------------------------------------------------------------------
//      Вихр Мерсона
//----------------------------------------------------------------------
// Початкова ініціалізація – заповнення масиву стану генератора
void InitialiseGenerator ( int seed ) {
  MT[0] = seed;
  for(int i=1;i<624;i++) {
    MT[i] = 1812433253 * (MT[i-1] ^ (MT[i-1]>>30)) + i;
  }
}
// Вибрати чергове ПВЧ  - ціле, 32 бітне, беззнакове, в інтервалі [0, 2^32)
long int ExtractNumber() {
  if (index >= 624) {
    GenerateNumbers();
    index = 0;
  }
  int y = MT[index];
  y = y ^ (y>>11);
  y = y ^ ((y<<7) & (2636928640));
  y = y ^ ((y<<15) & (4022730752));
  y = y ^ (y>>18);
  index = index + 1;
  return (y);
}
// Змінити стан – збурення масиву MT – генерація наступних 624 чисел
void GenerateNumbers() {
  for (int i=0;i<624;i++) {
    int z=(MT[i])/2147483647;
    long int x=(MT[(i+1)%624])%2147483647;
   long int y = z + x;
    if (y%2==0) {
      MT[i] = MT[(i+397)%624] ^ (y>>1);
    } else { // if y odd
      MT[i] = MT[(i+397)%624]^(y>>1) ^ 2567483615;
    }
  }
}
Компиляция проходит успешно но при запуске выдает ошибку: The variable "x2" is being used without being initializied
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2012, 13:28     variable is being used without being initializied
Посмотрите здесь:

C++ The variable 'pp' is being used without being initialized
stack around the variable was corrupted C++
Stack around the variable 's' was corrupted C++
C++ The variable 'kvadrat' is being used without being initialized
The variable 'x' is being used without being initialized C++
C++ The variable 'x' is being used without being initialized
C++ The variable 'x' is being used without being initialized
C++ Stack around the variable was corrupted
C++ This function or variable may be unsafe
What operation can be increased by one variable x? C++
Expecting variable or number C++
C++ The variable 'tc' is being used without being initialized

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
23.01.2012, 13:30     variable is being used without being initializied #2
115
C++
1
float x1,x2,y[2*n];
C++
1
float x2 = 0;
sasha0123
7 / 7 / 0
Регистрация: 03.12.2010
Сообщений: 45
23.01.2012, 13:34  [ТС]     variable is being used without being initializied #3
Большое спасибо я уже разобрался !
Yandex
Объявления
23.01.2012, 13:34     variable is being used without being initializied
Ответ Создать тему
Опции темы

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