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

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

Войти
Регистрация
Восстановить пароль
 
dfsdfgfsdg
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 16
#1

Ошибка при компилировании - C++

14.07.2015, 21:22. Просмотров 306. Ответов 13
Метки нет (Все метки)

Вот такая ошибка "Unhandled exception at 0x1027d340 (msvcr100d.dll) in 546456.exe: 0xC0000005: Access violation writing location 0xfdfdfdfd." Что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2015, 21:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при компилировании (C++):

Ошибка при компилировании - C++
Приветствую, скачал visual studio 2010 профессиональную, создал проект win32 с кодом окна апи, ничего не менял, попытался запустить этот...

Ошибка при компилировании - C++
Добрый день, не компилится код, ошибки следующие: In function 'int main(int, char**)': 'cout' was not declared in this scope ...

Ошибка при компилировании - C++
При компилировании выдается ошибка "невозможно создать экземпляр абстрактного класса". Подскажите, что с ней делать, пожалуйста. ...

Ошибка при компилировании - C++
При компилировании любого кода всегда эта ошибка: c:\program files\microsoft visual studio 8\vc\include\string(3) : fatal error C1014:...

ошибка при компилировании - C++
уже не знаю че делать .. написал программу для класса полиномов -выводит все время эту ошибку error C2108: subscript is not of integral...

Ошибка при компилировании на XCode - C++
всем привет, начну с того что я только новичок в с/c++ ну так вот появилась у меня проблема одна, вся суть проблемы заключается в том что...

13
_Valera_
488 / 370 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
14.07.2015, 21:26 #2
Цитата Сообщение от dfsdfgfsdg Посмотреть сообщение
Что делать?
показать код, или ту часть в которой предположительно ошибка.
0
rikimaru2013
C++ Game Dev
2440 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690
14.07.2015, 21:34 #3
Цитата Сообщение от _Valera_ Посмотреть сообщение
показать код, или ту часть в которой предположительно ошибка.
зачем? всю интригу портите. Давайте гадать
0
dfsdfgfsdg
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 16
14.07.2015, 21:43  [ТС] #4
_Valera_, rikimaru2013, так именно, что в коде ошибку не показывает, а выскакивает окно с ошибкой.
0
_Valera_
488 / 370 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
14.07.2015, 21:52 #5
Цитата Сообщение от dfsdfgfsdg Посмотреть сообщение
Valera_, rikimaru2013, так именно, что в коде ошибку не показывает, а выскакивает окно с ошибкой.
Ну вы должны помнить в каком месте вносили изменения, после которых появилась ошибка.
0
dfsdfgfsdg
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 16
14.07.2015, 21:55  [ТС] #6
_Valera_, мне код скинули. Вот он сам
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
// Подсчет кол-ва слов в файле
int CountWords(ifstream &file)
{
    string str;
    int countWords = 0;
 
    file.open("test.txt", ios::in);
 
    while(!file.eof())
    {
        getline(file, str, ' ');
        countWords ++;
    }
 
    file.close();
 
    return countWords;
}
 
// Чтения слов из файла
void ReadFile(ifstream &file, char** words)
{
    file.open("test.txt", ios::in);
 
    int i = 0;
    char tempStr[10];
 
    while (!file.eof())
    {
        file >> tempStr;
 
        strcpy(words[i], tempStr);
 
        i ++;
    }
 
    file.close();
}
 
// Подсчет кол-ва гласных букв в каждом слове
void CountVowels(int countWords, int* countVowels, char** words)
{
    char vowels[20] = {'А', 'а', 'Я', 'я', 'О', 'о', 'Ё', 'ё', 'У', 'у', 'Ю', 'ю', 'Ы', 'ы', 'И', 'и', 'Э', 'э', 'Е', 'е' };
 
    for (int i = 0; i < countWords; i ++)
    {
        countVowels[i] = 0;
 
        for(int j = 0; j < 10; j ++)
        {
            for (int z = 0; z < 20; z ++)
            {
                if (words[i][j] == vowels[z])
                {
                    countVowels[i] ++;
                    break;
                }
            }
        }
    }
}
 
// Сортировка и вывод в консоль
void SortAndOutput(int countWords, int* countVowels, char** words)
{
    for (int i = 0; i < countWords; i ++)
    {
        for (int j = i + 1; j < countWords; j ++)
        {
            if (countVowels[i] > countVowels[j])
            {
                int temp = countVowels[i];
                countVowels[i] = countVowels[j];
                countVowels[j] = temp;
 
                char tempStr[10];
 
                strcpy(tempStr, words[i]);
                strcpy(words[i], words[j]);
                strcpy(words[j], tempStr);
            }
        }
 
        cout << "Гласных : " << countVowels[i] << " ~ " << words[i] << endl;
    }
}
 
int main()
{
    setlocale(LC_ALL, "russian");
 
    ifstream file;
    int countWords = CountWords(file);
 
    int* countVowels = new int[countWords];
 
    char** words = new char*[countWords];
    for (int i = 0; i < countWords; i ++)
    {
        words[i] = new char[10];
    }
 
    ReadFile(file, words);
 
    CountVowels(countWords, countVowels, words);
 
    SortAndOutput(countWords, countVowels, words);
 
    return 0;
}
0
rikimaru2013
C++ Game Dev
2440 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690
14.07.2015, 21:58 #7
Цитата Сообщение от dfsdfgfsdg Посмотреть сообщение
в коде ошибку не показывает
Цитата Сообщение от dfsdfgfsdg Посмотреть сообщение
выскакивает окно с ошибкой
вы сами себе противоречите - если нету ошибок - значит нету и окна с ошибкой. если есть ошибка - НАЙДИТЕ ЕЁ через дебагер.
0
dfsdfgfsdg
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 16
14.07.2015, 22:06  [ТС] #8
rikimaru2013, а на другом ПК работает)
0
Kerry_Jr
Модератор
Эксперт PHP
2206 / 2002 / 701
Регистрация: 14.05.2014
Сообщений: 5,867
Записей в блоге: 1
Завершенные тесты: 5
14.07.2015, 22:07 #9
Цитата Сообщение от dfsdfgfsdg Посмотреть сообщение
в коде ошибку не показывает
это ошибка выполнения, а именно, Вы где-то пытаетесь записать в память, которую не выделили.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
14.07.2015, 22:18 #10
Прикрепите файл input.txt

Добавлено через 2 минуты
Цитата Сообщение от dfsdfgfsdg Посмотреть сообщение
мне код скинули.
интересно, кто же это понаписал...
нафига в одном месте работать с char**, а в другом с string?

Добавлено через 1 минуту
это:
C++
1
2
3
4
5
    while(!file.eof())
    {
        getline(file, str, ' ');
        countWords ++;
    }
попробуйте поменять на
C++
1
2
3
4
    while(file>>str)
    {
        countWords ++;
    }
0
kozlik_kozlik
7 / 11 / 0
Регистрация: 01.08.2012
Сообщений: 99
15.07.2015, 00:24 #11
Закомментируй в main всё после вызова CountWords, скомпилируй-запусти, раскомментируй следующий оператор, скомпилируй-запусти и т.д. Программа начнёт падать, когда раскомментируешь проблемное место. Найдёшь - скажешь.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
15.07.2015, 00:29 #12
Цитата Сообщение от kozlik_kozlik Посмотреть сообщение
Программа начнёт падать, когда раскомментируешь проблемное место.
не факт. Программа может упасть очень далеко от проблемного места. Так он просто найдет место, где проявился косяк.
0
kozlik_kozlik
7 / 11 / 0
Регистрация: 01.08.2012
Сообщений: 99
15.07.2015, 00:30 #13
не факт. Программа может упасть очень далеко от проблемного места. Так он просто найдет место, где проявился косяк.
Проблемное - в смысле на котором падает. Так-то да, ошибка может быть совершена и до этого. Но всё равно будет понятнее.
0
Kerry_Jr
Модератор
Эксперт PHP
2206 / 2002 / 701
Регистрация: 14.05.2014
Сообщений: 5,867
Записей в блоге: 1
Завершенные тесты: 5
15.07.2015, 00:50 #14
dfsdfgfsdg, 1) в функции SortAndOutput() j выходит за границы массива
2) сделайте для слов буфер не в 10, а в 20 символов, и в той же SortAndOutput tempStr такой же длины сделайте.
0
15.07.2015, 00:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2015, 00:50
Привет! Вот еще темы с ответами:

Ошибка при компилировании. Язык Си - C++
Всем здравствуйте. Пишу следующую программу: дан массив из 15 элементов. Найти 3 самых больших элемента массива, являющиеся простыми...

ошибка при компилировании, что она означает? - C++
работаю в Sublime text 2. При запуске в консоли всплывает следующее: Running g++ F:\учусь программировать\урок 1\ех1.cpp -o F:\учусь...

Ошибка при компилировании Declaration terminated incorrectly - C++
Ребят, помогите разобраться. В универе выдали задания с распечаткой похожего кода. Код набрал но ругается при компиляции на 16ю строку....

При компилировании выдается ошибка 'float fraction::numerator' is private - C++
При попытке скомпилировать код выдает 'float fraction::numerator' is private| То есть при перемещении float numerator; и float...


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

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

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