Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.79
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
#1

Ошибка: Run-Time Check Failure #3 - The variable 'zero' is being used without being initialized. - C++

10.03.2012, 23:06. Просмотров 4228. Ответов 18
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
int fun_mult(int *mas)
{
    int zero;
    
    for (int i=0; i<10; i++){
        if (mas[i]=0)
        zero=i;
        else break;
        
    }
    return zero;
}
в чем фейл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2012, 23:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка: Run-Time Check Failure #3 - The variable 'zero' is being used without being initialized. (C++):

Ошибка: Run-time check failure: variable 'C' is being used without being initialized - C++
Здравствуйте, Помогите решить одну проблему. Есть задание написать программу, которая находит определитель матрицы и умножает две...

Ошибка: Run-Time Check Failure #3 - The variable 'i' is being used without being initialized - C++
в чём ошибка (просьба подправить) #include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace...

Ошибка Run-Time Check Failure #3 - The variable 'k' is being used without being initialized - C++
2. Даны два вектора и найти угол между ними и модуль векторного произведения векторов X и Y. При вычислении использовать формулу: , где...

Ошибка Run-Time Check Failure #3 - The variable 'y' is being used without being initialized - C++
Выскакивает вот тавкая вот ошибка, подскажите как исправить. Ошибка выскакивает, когда я ввожу переменную &quot;e&quot;, уже во время отладки...

Ошибка Run-Time Check Failure #3 - The variable 'chcount' is being used without being initialized. - C++
Run-Time Check Failure #3 - The variable 'chcount' is being used without being initialized. Что за ошибка?

C++ - Run-Time Check Failure #3 - The variable 'c' is being used without being initialized - C++
Нужно исправить код. Вводится последовательность целых чисел. Для каждого числа последовательности проверить, представляют ли его цифры...

18
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
10.03.2012, 23:12 #2
Цитата Сообщение от m1x Посмотреть сообщение
C++
1
2
3
if (mas[i]=0)
    zero=i;
else break;
На первой же итерации пойдет по ветке else, как следствие получим возвращение неинициализированной переменной.
0
sandye51
программист С++
686 / 588 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
10.03.2012, 23:12 #3
m1x, в том что условие ни разу не выполнилось (поскольку ты написал равно вместо == ) и переменная zero осталось неиницилизированной
0
Mustik
56 / 56 / 2
Регистрация: 10.07.2011
Сообщений: 229
10.03.2012, 23:14 #4
А я исправленный код напишу
C++
1
2
3
4
5
6
7
8
9
10
11
12
int fun_mult(int *mas)
{
        int zero;
        
        for (int i=0; i<10; i++){
                if (mas[i]==0)
                zero=i;
                else break;
                
        }
        return zero;
}
0
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
10.03.2012, 23:14  [ТС] #5
Цитата Сообщение от sandye51 Посмотреть сообщение
m1x, в том что условие ни разу не выполнилось (поскольку ты написал равно вместо == ) и переменная zero осталось неиницилизированной
спасибо, но ошибка осталась
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
10.03.2012, 23:14 #6
Mustik, а если там не будет нуля?
0
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
10.03.2012, 23:15  [ТС] #7
Цитата Сообщение от Mustik Посмотреть сообщение
А я исправленный код напишу
C++
1
2
3
4
5
6
7
8
9
10
11
12
int fun_mult(int *mas)
{
        int zero;
        
        for (int i=0; i<10; i++){
                if (mas[i]==0)
                zero=i;
                else break;
                
        }
        return zero;
}
аналогично
та же ошибка
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
10.03.2012, 23:21 #8
Цитата Сообщение от m1x Посмотреть сообщение
int zero;
C++
1
int zero(-1);
0
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
10.03.2012, 23:23  [ТС] #9
для проверки сделал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
int fun_mult(int *mas)
{
        int zero;
        
        for (int i=0; i<10; i++){
                if (mas[i]==0)
                zero=i;
                else zero=1111111;
                
        }
        return zero;
}
ввожу массив (с элементом равным нулю конечно же) и всегда получаю ответ 1111111
неправильно работает

Добавлено через 37 секунд
Цитата Сообщение от soon Посмотреть сообщение
C++
1
int zero(-1);
это как?
з.ы. все так же неправильно работает
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
10.03.2012, 23:24 #10
m1x, сообщение #8 гляньте. А выводит 1111111 потому, что break нет.
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
10.03.2012, 23:24 #11
m1x, просто какое-то значение нужно изначально zero задать.
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
10.03.2012, 23:25 #12
Цитата Сообщение от m1x Посмотреть сообщение
это как?
А вот прямо так и запишите
0
Mustik
56 / 56 / 2
Регистрация: 10.07.2011
Сообщений: 229
10.03.2012, 23:26 #13
Цитата Сообщение от m1x Посмотреть сообщение
аналогично
та же ошибка
Переменную zero нужно инициализировать.
Товарищ soon уже написал как это делается. Его запись аналогична
C++
1
int zero = -1;
.
А вам повезло, нашли еще одну с = вместо == .
0
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
10.03.2012, 23:28  [ТС] #14
где break должен стоять?
0
Mustik
56 / 56 / 2
Регистрация: 10.07.2011
Сообщений: 229
10.03.2012, 23:28 #15
Цитата Сообщение от m1x Посмотреть сообщение
ввожу массив (с элементом равным нулю конечно же) и всегда получаю ответ 1111111
Так если у тебя последний элемент не будет равен 0, то zero будет равно 111111.
Может быть надо
C++
1
2
3
4
5
6
...
else
{
    zero = 111111;
    break;
}
0
10.03.2012, 23:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 23:28
Привет! Вот еще темы с ответами:

Run-Time Check Failure #3 - The variable 'c' is being used without being initialized - C++
VS 2013 После введения знака выдает такую ошибку Как можно исправить? #include &quot;stdafx.h&quot; #include &quot;iostream&quot; using...

Run-Time Check Failure #3 - The variable 'k' is being used without being initialized - C++
Дано целое число n&gt;1 . Найти наименьшее целое число k , при котором выполняется неравенство k&gt;n^2+n #include&lt;iostream&gt; ...

Run-Time Check Failure #3 - The variable 'c' is being used without being initialized - C++
Вводится последовательность целых чисел. Для каждого числа последовательности проверить, представляют ли его цифры строго ...

Run-Time Check Failure #3 - The variable 'i' is being used without being initialized - C++
#include &quot;stdafx.h&quot; #include &quot;cstdlib&quot; #include &quot;cstring&quot; #include &quot;iostream&quot; using namespace std; int _tmain(int argc,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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