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

Ошибка VC++ или не понятно что - C++

Восстановить пароль Регистрация
 
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
27.04.2014, 17:35     Ошибка VC++ или не понятно что #1
Ошибка VC++ или не понятно что

Вот такое сообщение при выполнение данной программы. Прогамма работает правильно хоть и пропускает пдчеркнутые пункты. Не знаю в чем проблема. И что за ошибка?

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
#include <iostream>
#include <conio.h>
#include <string>
#include <vector>
using std::vector;
 
int main()
{ setlocale (LC_ALL , "Russian");
int n;
vector<int> num;
 
std::cout << "Введите несколько чисел" << std::endl;
while(std::cin >> n)
    num.push_back(n);
if(num.size() % 2 != 0)
{std::cout << "Колличество эдлементов вектора не четное. Прошу добавит элемент в вектор для продолжение операции!\n";
[U]if(std::cin >> n)
    num.push_back(n);}[/U]
for(vector<int>::size_type i = 0; i != num.size(); i++)
    std::cout << num[i]  + num [i+1] <<std::endl;
[U]int x = 0, y = 0;
for(vector<int>::size_type i = 0; i != num.size(); i++)
{   x = num.size() - 1;
    y++;
    std::cout << "Сумма " << num[y] <<  " + " << num[x] << " = " << num[y] + num[x] << std::endl;}[/U]
    _getch ();
    return 0;
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
27.04.2014, 17:39  [ТС]     Ошибка VC++ или не понятно что #2
Если я правльно понимаю. Программа достигнув if должен следоват его командам. И остановится пока не выполнится требование данной функции.
Но программа не ждет выполнение требований if
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.04.2014, 17:47     Ошибка VC++ или не понятно что #3
Цитата Сообщение от Altair42 Посмотреть сообщение
И что за ошибка?
Пишет, не русским языком, что вышли за границу вектора.

Добавлено через 4 минуты
Вот здесь выход за границу:
C++
1
num [i+1]
Добавлено через 2 минуты
Из этого цикла как выходите?
C++
1
2
while(std::cin >> n)
        num.push_back(n);
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
27.04.2014, 17:51  [ТС]     Ошибка VC++ или не понятно что #4
Добавлено через 1 минуту
alsav22, просто ввожу не пиемлемый символ для выхода из цикла. Пока другого способа не знаю.

Добавлено через 1 минуту
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот здесь выход за границу:
Код C++
1
num [i+1]
Прикол в том что эту часть программа обробатывает полностью. Ввожу числа 1 2 3 4 5. вычитывает сумму 1 +2, 2 + 3, 3+ 4, 4+5.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.04.2014, 17:53     Ошибка VC++ или не понятно что #5
Цитата Сообщение от Altair42 Посмотреть сообщение
Прикол в том что эту часть программа обробатывает полностью.
Там выход за границу вектора.
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
27.04.2014, 17:53  [ТС]     Ошибка VC++ или не понятно что #6
Проблема на втором цикле и кажеться понял в чем.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.04.2014, 17:54     Ошибка VC++ или не понятно что #7
Цитата Сообщение от Altair42 Посмотреть сообщение
просто ввожу не пиемлемый символ для выхода из цикла.
C++
1
2
3
4
5
std::cout << "Введите несколько чисел" << std::endl;
while(std::cin >> n)
     num.push_back(n);
std::cin.clear();
while (std::cin.get() != '\n');
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
27.04.2014, 18:01  [ТС]     Ошибка VC++ или не понятно что #8
alsav22, спасибо.исправил таки образом
C++
1
std::cout << num[i]  + num [i+1, i <= num.size()] <<std::endl;
Работает все кроме
C++
1
2
3
4
if(num.size() % 2 != 0)
{std::cout << "Колличество эдлементов вектора не четное. Прошу добавит элемент в вектор для продолжение операции!\n";
if(std::cin >> n)
    num.push_back(n);}
Добавлено через 2 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
std::cin.clear();
while (std::cin.get() != '\n');
Этот код мне не знаком. Пока следую программе книги с которого учу с++. Как то перешел с циклов на массивы ( видеоуроки) 3 дня сидел над заданием. Спасибо за совет.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.04.2014, 18:03     Ошибка VC++ или не понятно что #9
И во втором цикле выход:
C++
1
y++;
Значение y не отслеживается.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2014, 18:15     Ошибка VC++ или не понятно что
Еще ссылки по теме:

C++ Ошибка в книге или я что то не понимаю ?
Жуткий билдер не понятно что творит и почему C++
Не понятно что делает __success(return >= 0) C++

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

Или воспользуйтесь поиском по форуму:
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
27.04.2014, 18:15  [ТС]     Ошибка VC++ или не понятно что #10
Его уже исправил. Заменил с i Все ровнео там y = i.
Исправил все. Кроме

C++
1
2
3
4
if(num.size() % 2 != 0)
{std::cout << "Колличество эдлементов вектора не четное. Прошу добавит элемент в вектор для продолжение операции!\n";
if(std::cin >> n)
    num.push_back(n);}
Не могу понят, почему программа переходит к выполнению след функции когда функция if не завершена?
Yandex
Объявления
27.04.2014, 18:15     Ошибка VC++ или не понятно что
Ответ Создать тему
Опции темы

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