Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Объясните, зачем в коде нужен явный конструктор копирования Добрый день, хочу понять код, почему тут обезательно надо явный конструктор копирования? #include <iostream> using namespace std; class vector { private: // переменные в private так как это принцип инкапсуляции https://www.cyberforum.ru/ cpp-beginners/ thread1663062.html C++ Класи підскажіть будьласка що нетак
Умова Поле fіrst - дробове число; поле second - ціле число, показник ступеня. Реалізувати метод power() - зведення числа fіrst у ступінь second. Метод повинен правильно працювати при будь-яких припустимих значеннях fіrst і second Виправте або підскажіть pows q; q.init(a,b); Як надати їм значення функцій first second? #include<iostream> #include<cmath>
C++ Определить сколько различных букв в слове помогите пожалуйста Выполнить задание без использования стандартных функций работы со строками. Дано слово. Определить сколько различных букв в нем,с использованием функций и строк https://www.cyberforum.ru/ cpp-beginners/ thread1663052.html C++ Функция заполнения генерирует одинаковые случайные числа Помогите, пожалуйста, разобраться. Я написал функцию заполнения массива и вызываю ее при для заполнения значениями элементов двух разных массивов. Но значения почему то одинаковые... Когда прохожу дебагером то значения разные, а когда в обычном режиме - одинаковые. В чем может быть причина? #include <iostream> #include <time.h> using namespace std; int* Create(int size) { int* Arr =... https://www.cyberforum.ru/ cpp-beginners/ thread1663044.html
Копирование файлов между Linux и Windows C++
Доброго времени суток. В локальной сети соединены компы на двух ОС (Linux, Windows). Работаю на компе с виндой, но нужно время от времени бекапить(копировать удаленно) некоторые файлы из компа с Linux, а после возможного сбоя возвращать эти файлы на место. Но проблема в том что при этом не сохраняются атрибуты (права доступа к файлам). Можно ли что то реализовать на С++ чтобы копировались нужны...
C++ Считать из файла последовательность целых чисел и упорядочить её по убыванию в пользовательской функции https://www.cyberforum.ru/ cpp-beginners/ thread1663037.html
написать функцию.Каждую запись целых чисел переупорядочить в порядке их убывания. считывание из файла
C++ Тип char принимает за integer Приветствую всех. Вот в этом простейшом коде, на char в ошибках пишет что-то о int. Помогите плиз. Решил изучить С++, отойдя от питон, т.к наслышен, что ненавистные мне вещи не обязательно делать. А именно распределение памяти и т.д при исопльзовании библиотек. #include <iostream> using namespace std; int Main() { double a; double b; double c; https://www.cyberforum.ru/ cpp-beginners/ thread1663034.html Организация программы C++
Здравствуйте уважаемые программисты! Есть такая задача: Используйте одномерный массив для решения задачи. Компания платит своим продавцам на комиссионной основе. Продавцы получают 200 долларов в неделю плюс 9 процентов от валовой продажи за эту неделю. Например, продавец, валовая продажа которого за неделю составила 5000 долларов, получает 200 долларов плюс 9 процентов от 5000 долларов, или...
C++ Написать аналог функции strtod https://www.cyberforum.ru/ cpp-beginners/ thread1663013.html
Всем привет. Прошу у вас помощи в написании аналога функции "strtod". Не могу понять, с какой стороны подойти к ней. Искал на форуме, ничего подобного не нашел. Заранее спасибо.
C++ Для введённого с клавиатуры 6-значного числа определить, являются ли все цифры числа нечетные Для введённого с клавиатуры 6-значного числа определить, являются ли все цифры числа нечетные. https://www.cyberforum.ru/ cpp-beginners/ thread1662986.html
C++ Какие нужны библиотеки для создания читов для онлайн игр?
Здравствуйте, недавно возник вопрос, А как собственно говоря делают читы для онлайн игр? Какие для них нужны библиотеки, какие методы обхода анти-чита? Эти вопросы чисто из любопытства т.к интересно посмотреть на реализацию, программный код читов с графической менюшкой и без нее) Разумеется интересно посмотреть реализацию на c++
C++ Даны действительные числа x1,.x20. Вычислить: max (х1+х20,х2+х19,.х10+х11) Даны действительные числа x1,...x20. Вычислить: max(х1+х20,х2+х19,...х10+х11) Не могу написать программу,тут нужно два цикла for,но не могу написать https://www.cyberforum.ru/ cpp-beginners/ thread1662902.html
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
15.02.2016, 22:01 0

Почему происходит выход за границы массива в функции Analyze()? - C++ - Ответ 8759236

15.02.2016, 22:01. Показов 1347. Ответов 15
Метки (Все метки)

Ответ

Сделайте вывод значений переменных куда-нибудь - хоть в TRACE, хоть в консоль.
Вот в этих местах:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Analyzer::Analyze()
{
 
    nline = 1;
    for (int i = 0; i < buffer.length(); i++)
    {
        string lex;
//вывести значение i , buffer.length(), и пометку "следующая итерация".
        while ((buffer[i] != '\n') && (buffer[i] != ' '))
        {
//вывести значение i и buffer.length(), и пометку "внутренний цикл"
            lex += buffer[i];
//вывести значение buffer[i]. На проблемном месте на предыдущей строке программа свалится, поэтому у вас останется в выводе значение i, на котором свалилось, и последний проанализированный символ.
            i++;
        }
        Lexic(lex);
        if (buffer[i] == '\n')
            nline++;
        lex = "";
    }
}
Есть у меня предположение, что у вас в строке после символа "\n" еще что-то есть. Например - "\n\r" .
Тогда на последней итерации цикла вы не дождетесь символа "\n". Вообще, у вас это опасный цикл, так как целостность программы зависит от введенных данных. Лучше не полениться и еще раз проверить i < buffer.length():
C++
1
while ((buffer[i] != '\n') && (buffer[i] != ' ') && (i < buffer.length()))


Вернуться к обсуждению:
Почему происходит выход за границы массива в функции Analyze()? C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2016, 22:01
Готовые ответы и решения:

Почему происходит выход за границы массива?
Программу прикрепил. Смысл кода - считывает из файла матрицу и находит кол-во фигур в ней(часть...

Почему происходит выход за границы?
2 игрока берут из своих колод по 1-й карте. Т.е. достают элемент дека из начала дека. Так...

Из файла считывается только одна строка (в процедуре max происходит выход за границы массива)
Хелп, дорогие форумчане! Проблема: прога по-хорошему считывает из файла только одну строку Проще...

При вызове функции необработанное исключение, выход за границы массива
bool checkprocessed(point data,int xx,int yy,int wind) { bool mark=false; int s=0; for(int...

15
15.02.2016, 22:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2016, 22:01
Помогаю со студенческими работами здесь

Происходит выход за границы при нахождении палиндромов
почему выходит за границы ?(( ищу слова палидромы private void button2_Click(object...

Не могу понять, почему не происходит выход из цикла
Здравствуйте, не могу понять почему не происходит выход из цикла Должен производится ввод...

Выход за границы массива
Написал код static void Main(string args) { int n, m, i = 0; ...

Выход за границы массива
хочу создать массив, который наполняеться элементами введенными с клавиатуры. потом надо сравнить...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru