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

Не инициализируется переменная - C++

Восстановить пароль Регистрация
 
lastfin
10 / 10 / 0
Регистрация: 06.02.2012
Сообщений: 52
09.08.2012, 11:27     Не инициализируется переменная #1
Проблема в том, что строка номер 18 полностью игнорируется, почему - вообще не понимаю. Значение i остается абракадаброй или нулем, если заранее проинициализировать переменную.

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
#include "std_lib_facilities.h"
 
int main()
{
    setlocale(LC_CTYPE,"RUS");
    setlocale( LC_ALL,"" );
    
    vector<double>numbers; //вектор, куда будут добавляться числа, по мере набора их пользователем
    double number;
    double itog=0; // сумма первых n чисел
    cout << "Пожалуйста, введите несколько чисел (для прекращения ввода нажмите клавишу <!>)\n";
    while (cin>>number)
    numbers.push_back(number);//заносим числа в вектор
 
    int i;// кол-во суммируемых элементов
    cout << "Пожалуйста, введите количество чисел, которые хотите просуммировать" 
        <<"(начиная с первого):\n";
    cin >> i; // тут почему-то i не считывается, а остается нулем(или не инициализируется, если нулем его сразу не определить, как сейчас)
    cout<<i; //ненужная строка, сейчас просто для проверки
    
    for (int a=0; a<=i; ++a)
    itog+=numbers[a]; // itog=numbers[0]+numbers[1]+numbers[2]+numbers[i]
    cout<<itog<<'\n';
    
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2012, 11:27     Не инициализируется переменная
Посмотрите здесь:

C++ не инициализируется массив
C++ Почему массив инициализируется с 7-ю элементами?..
C++ Где инициализируется модальное окно?
C++ не инициализируется bool**
C++ Неправильно инициализируется строка String
DWORD не инициализируется C++
C++ Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз
C++ Не инициализируется динамический одномерный массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KostyaKulakov
Заблокирован
09.08.2012, 11:35     Не инициализируется переменная #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
int main()
{
    setlocale(LC_CTYPE,"RUS");
    setlocale( LC_ALL,"" );
    
    vector<double>numbers; //вектор, куда будут добавляться числа, по мере набора их пользователем
    double number;
    double itog=0; // сумма первых n чисел
    cout << "Пожалуйста, введите несколько чисел (для прекращения ввода нажмите клавишу <!>)\n";
    while (cin>>number)
    numbers.push_back(number);//заносим числа в вектор
    cin.clear();
    cin.sync(); 
 
    int i = 0;// кол-во суммируемых элементов //инициализируем переменную 
    cout << "Пожалуйста, введите количество чисел, которые хотите просуммировать" 
        <<"(начиная с первого):\n";
    cin >> i; // тут почему-то i не считывается, а остается нулем(или не инициализируется, если нулем его сразу не определить, как сейчас)
    cout<<i; //ненужная строка, сейчас просто для проверки
    
    for (int a=0; a<=i; ++a)
    itog+=numbers[a]; // itog=numbers[0]+numbers[1]+numbers[2]+numbers[i]
    cout<<itog<<'\n';
    
    system("pause");
}
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
09.08.2012, 11:37     Не инициализируется переменная #3
C++
1
2
3
4
while (cin>>number)
    numbers.push_back(number);//заносим числа в вектор
cin.clear();  //очищаем cin от failbit
cin.sync();   //откидываем оставшиеся символы с ввода
Yandex
Объявления
09.08.2012, 11:37     Не инициализируется переменная
Ответ Создать тему
Опции темы

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