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

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

Войти
Регистрация
Восстановить пароль
 
sasha0123
7 / 7 / 0
Регистрация: 03.12.2010
Сообщений: 45
#1

Ошибка: "variable is being used without being initializied" - C++

23.01.2012, 13:28. Просмотров 247. Ответов 2
Метки нет (Все метки)

Доброго времени суток !!!
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++ Ошибка: Run-time Check Failure #3-The variable 'k' is being used without being defined
C++ Ошибка: Run-Time Check Failure #3 - The variable 'zero' is being used without being initialized.
Ошибка Run-Time Check Failure #3 - The variable 'k' is being used without being initialized C++
Ошибка: Run-time check failure: variable 'C' is being used without being initialized C++
C++ Ошибка Run-Time Check Failure #3 - The variable 'chcount' is being used without being initialized.
C++ Ошибка 1 error C4996: 'scanf': This function or variable may be unsafe
Отладка проекта с mpi: ошибка corrupted stack around variable C++
C++ Ошибка Run-Time Check Failure #2 - Stack around the variable 'B' was corrupted
C++ Ошибка: 'strcpy': This function or variable may be unsafe
C++ Ошибка: Run-Time Check Failure #3 - The variable 'i' is being used without being initialized
C++ Ошибка: Stack around the variable 'Material' was corrupted
C++ Ошибка Run-Time Check Failure #3 - The variable 'y' is being used without being initialized

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
380 / 272 / 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"
Ответ Создать тему
Опции темы

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