Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Автостопом по планетам https://www.cyberforum.ru/ cpp-beginners/ thread2495905.html
Артур Дент узнал, что Земля вскоре будет уничтожена. К сожалению, сообщивший ему эти известия Форд Префект куда-то запропастился, оставив лишь карту порталов. Оказывается, если у тебя есть...
C++ Распечатать все отрицательные члены последовательности при выполнении некоторого условия
Даны целые числа 1 30 a1 a1 ,...,а30 . Если в данной последовательности ни одно четное число не расположено после нечетного, то распечатать все отрицательные члены последовательности, иначе – все...
C++ Вывести число <100 так чтобы оно всегда занимало 2 символа https://www.cyberforum.ru/ cpp-beginners/ thread2495873.html
Вот в чем вопрос мне надо вывести даты календаря таким образом: _1 _8 15 22 29 _2 _9 16 23 30 _3 10 17 24 31 _4 11 18 25 _5 12 19 26 _6 13 20 27 _7 14 21 28
C++ Очередь https://www.cyberforum.ru/ cpp-beginners/ thread2495871.html
Задача 57 на informatics. В моей среде вроде бы проходит и верно выводит ответ. А на сайте 1 тест даже не заходит. Хоть и ответы совпадают. #include<bits/stdc++.h> using namespace std; int...
C++ Консоль кирилица
как запустить в dev консоле проверить CharToOem(text, bufRus); CharToOemA(str, s); // Функция и конвертация. чтобы русские буквы видно было #include <iostream> #include <cstring> #include...
C++ Считывание строки из ТХТ https://www.cyberforum.ru/ cpp-beginners/ thread2495813.html
Срочно нужна ваша помощь, уважаемые специалисты. Есть текстовый файл, в нем 7 строк, требуется считать именно 5-ю строку. Есть кистяк кода, но не хватает функции считывания именно 5-й строки....
C++ Ambiguous overload for 'operator+' (operand types are 'int' and 'Rational') https://www.cyberforum.ru/ cpp-beginners/ thread2495731.html
Решал задачку, все делал по презентации. Создал класс рациональных чисел. Нужно перегрузить операторы +, - и т.д. для собственного класса, вроде бы все сделал как в презентации, но вылезает ошибка...
Определить пару, число и цифру по известному номеру пары C++
Здравствуйте. Помогите разобраться с задачей: Дано целое число k (1 <= k <= 180) и последовательность 10111213…..9899, в которой выписаны подряд все двузначные числа. Определить: a. Номер пары,...
C++ Ошибка при компилировании https://www.cyberforum.ru/ cpp-beginners/ thread2495577.html
Всем привет. Я в программировании не силен, мне просто нужно скомпилировать код но выдает ошибку. У другого человека все прекрасно работает, он мне скидывал эти 2 файла я заменял их толку нет....
C++ Отбросить виртуальность колбэка https://www.cyberforum.ru/ cpp-beginners/ thread2495573.html
Представьте себе систему которая рассылает события. Нужно запретить клиентам такой системы использовать виртуальныке колбэки. Нужно чтобы система вызывала именно тут функцию, адресс которой был...
C++ Ошибка в операции присвоения
Внимание, вопрос, почему не заменяется тайл в условии if (TileMap == 's') {TileMap == ' ';} Спасибо за внимание)) Код: #include <SFML/Graphics.hpp> #include <iostream> #include <map>...
C++ Класс математической дроби и его проблемы Привет всем!=) В процессе изучения ООП в с++ я решил написать клас математических дробей. Написал парочку конструкторов-деструкторов, вспомогательных методов(напр. canConvTo10()-возможность... https://www.cyberforum.ru/ cpp-beginners/ thread2495518.html
221 / 148 / 79
Регистрация: 14.03.2016
Сообщений: 459
02.09.2019, 19:56 0

Ошибка при освобождении памяти - C++ - Ответ 13803452

02.09.2019, 19:56. Показов 847. Ответов 4
Метки (Все метки)

Ответ

Похоже вы вылезли за пределы памяти, либо удалили то, что программе не принадлежит.
....
Да так и есть. Неправильно вы тему назвали.
Вот в этой строчке:
C++
1
char * st = new char[words];
Вы выделяете words количество памяти, а в следующей
C++
1
for(size_t i = 0; i <= words; i++)
вы вылезаете за пределы памяти.
Из-за этого, при освобождении памяти и вылезает ошибка.

Исправить так:
C++
1
char * st = new char[words + 1];
Честно говоря, не понимаю зачем такие заморочки

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
#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
 
const string fileName = "input.txt";
 
int main() {
    ifstream fin(fileName);
    if(!fin) { cout << "File could not be opened!"; return 0; }
    
    string buffer;
    vector<pair<unsigned, unsigned>> lines; //first - words, second - letters in word
    while(getline(fin, buffer)) {
        unsigned letters = 0, words = 0;
        letter = buffer.size();
        
        stringstream parse(buffer);
        while(parse >> buffer) words++;
        
        lines.push_back(make_pair(letters, words));
    }
    
    cout << "Total lines: " << lines.size() << endl;
    for(int i = 0; i < lines.size(); i++)
        cout << "Line #" << i 
            << ": words - " << lines[i].first 
            << " | letters - " << lines[i].second << endl;
    return 0;
}


Вернуться к обсуждению:
Ошибка при освобождении памяти C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2019, 19:56
Готовые ответы и решения:

Ошибка при освобождении памяти?
Доброго времени суток! Я только-только взялся за изучение c++. Дошел до динамической памяти...

Ошибка при освобождении памяти
Добрый День! Написал простую программу для понимания сути. Проблема в том, что код, который...

Ошибка при освобождении памяти
#include &lt;iostream&gt; using namespace std; #include &lt;stdlib.h&gt; #include &lt;fstream&gt; #include...

Ошибка при освобождении памяти
Все идет замечательно, но вот когда происходит удаление массива программа крашится.. #include...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.09.2019, 19:56

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Ошибка при освобождении памяти
#include &lt;iostream&gt; using namespace std; template&lt;class T&gt; class pvector { T **p; int...

Ошибка при освобождении памяти
Здравствуйте, программа завершает работу в этом коде #include &lt;iostream&gt; #include &lt;ctime&gt;...

Ошибка при освобождении памяти
Задача: Из стандартного входного потока вводятся сроки. Признаком завершения каждой сроки является...

Ошибка при освобождении памяти
Здравствуйте! Пишу на MS Visual C++ 2010, windows 7. При вызове функции resize() на строке ...

Ошибка при освобождении памяти
Короче, есть простенький метод класса, в котором за полем под названием ID закрепляется новое айди....

Ошибка при освобождении памяти
Здравствуйте. Знаю, что тема уже много раз поднималась в самых разнообразных местах и с очень...

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