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

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

Войти
Регистрация
Восстановить пароль
 
 
wolf1396
6 / 6 / 0
Регистрация: 07.05.2013
Сообщений: 212
#1

что за ошибки? - C++

18.07.2013, 22:29. Просмотров 566. Ответов 15
Метки нет (Все метки)

у меня нет диска F

(если написать полный путь, будет ошибка)

VS 2012
0
Миниатюры
что за ошибки?   что за ошибки?  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2013, 22:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос что за ошибки? (C++):

Что за ошибки - C++
Создать программу с классом Student1 порождающим объекты - анкетные данные о студентах. Класс включает: ФИО год поступления курс ...

Что это за ошибки? - C++
Unresolved external '__InitVCL' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl Unresolved external...

что это за ошибки? - C++
при компиляции без ошибок, при выполнени 2 ошибки: Linking... LIBCD.lib(crt0.obj) : error LNK2001: unresolved external...

ООП что за ошибки? - C++
Изучаю программирование, решаю задачу из учебника Дейтелов. Нужно написать класс, реализующий множество целых чисел. Множество представлено...

Не пойму что это за ошибки - C++
Обьясните что это за ошибки и что с ними делать 1) invalid initialization of reference of type 'TPQueue* &' from expression of type...

Ошибки в функции что не так? - C++
#include <iostream> using namespace std; long int hms_to_secs(long int,long int,long int); int main(); { int h,m,s; ...

15
wolf1396
6 / 6 / 0
Регистрация: 07.05.2013
Сообщений: 212
18.07.2013, 22:45  [ТС] #2
C++
1
2
3
4
5
6
while(i) //удаление выделенной памяти
{
list *s = i;
i = i->next;  //стрелка при отладке показывает сюда
delete s;
}
0
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
18.07.2013, 23:04 #3
порча памяти. Что тут ещё можно сказать? Утечка может быть где угодно. Может указатель s невалиден, а может какой-то иной.
Код-то целиком где???
0
wolf1396
6 / 6 / 0
Регистрация: 07.05.2013
Сообщений: 212
18.07.2013, 23:09  [ТС] #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
порча памяти. Что тут ещё можно сказать? Утечка может быть где угодно. Может указатель s невалиден, а может какой-то иной.
Код-то целиком где???
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include "stdlib.h"
#include <time.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "rus");
    srand(time(NULL));
    struct list
    {
        list * prev;
        list * next;
        int key;
    };
    list *i = new list; 
    list *j = i;
    i->prev = 0;
    const int size = 10; 
    for(int k = 1; k < size; k++)
    {
        cin >> j->key;
        j->next = new list;
        j->next->prev = j;
        j = j->next;
    }
    cin >> j->key;
    //j->key = rand();
    j->next = 0; 
    j = i;
    cout << "Ключи неотсортированнного списка: " << endl;
    while(j)
    {
        cout << j->key << " ";
        j = j->next;
    } 
    list *x;
    list *y;
    j = i;
    while (j) //сортировка списка
    {
        x = j;
        y = j->next;
        while(y)
        {
            if(x->key < y->key)
            {
                x = y;
            }
            y = y->next;
        }
        if(x == j)
        {
            j = j->next;
        }
        if(x->next != 0)
        {
            x->next->prev = x->prev;
        }
        x->next = i;
        i->prev = x;
        i = x;
    }
    j = i;
    cout << "\nКлючи отсортированного в порядке возрастания списка: " << endl;
    int u=0;
 
    while(j && u<size)
    {
        cout << j->key << " ";
        j= j->next;
        u++;
    }
    while(j) //удаление выделенной памяти
    {
        list *s = j;
        j = j->next; 
        delete s;
    }
    cout << endl;
    system("pause"); 
 
    return 0;
}
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.07.2013, 23:37 #5
Как он у вас до освобождения памяти доходит? У меня из сотрировки не выходит.
0
wolf1396
6 / 6 / 0
Регистрация: 07.05.2013
Сообщений: 212
18.07.2013, 23:38  [ТС] #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Из сортировки вообще не выходит.
вроде ругается на цикл, в котором очистка памяти?
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.07.2013, 23:41 #7
У меня до этого не доходит. Зацикливается в сортировке.
0
wolf1396
6 / 6 / 0
Регистрация: 07.05.2013
Сообщений: 212
18.07.2013, 23:43  [ТС] #8
Цитата Сообщение от alsav22 Посмотреть сообщение
У меня до этого не доходит. Зацикливается в сортировке.
10
9
8
7
6
5
4
3
2
1
Ключи неотсортированнного списка:
10 9 8 7 6 5 4 3 2 1
Ключи отсортированного в порядке возрастания списка:
1 2 3 4 5 6 7 8 9 10 Для продолжения нажмите любую клавишу . . .

а дальше уже ошибки, из-за которых создана тема
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.07.2013, 23:46 #9
Цитата Сообщение от wolf1396 Посмотреть сообщение
а дальше уже ошибки, из-за которых создана тема
Тут не только тема...
0
Миниатюры
что за ошибки?  
wolf1396
6 / 6 / 0
Регистрация: 07.05.2013
Сообщений: 212
18.07.2013, 23:51  [ТС] #10
Цитата Сообщение от alsav22 Посмотреть сообщение
Тут не только тема...
ну я то делаю в 12 студии
а это похоже Борланд С++
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.07.2013, 23:59 #11
Цитата Сообщение от wolf1396 Посмотреть сообщение
а это похоже Борланд С++
Это как вы определяете? Среда тут ни при чём. Код кривой. У меня 10 студия.
0
Belfegor
19.07.2013, 00:16
  #12

Не по теме:

у меня валялось, может поможет


Не по теме:

Кликните здесь для просмотра всего текста
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
#include <iostream>
 
typedef struct LIST {
    int key;
    struct LIST * next;
} arraylist;
 
using std::cin;
using std::cout;
 
int main() {
    arraylist * list = NULL; // связанный список
    arraylist * node, * node2;
    int num;
    // заполняем список
    while (cin >> num) { // цикл считывания чисел, для выхода ввести букву
        node = (arraylist*) malloc(sizeof (arraylist)); // структура arraylist
        node->key = num; // запись в структуру числа
        node->next = list; // прикркпляем структуру в список, в начало
        list = node; // указатель на начало списка
    }
    // сортируем
    for (node = list; node; node = node->next)
        for (node2 = list; node2; node2 = node2->next)
            if (node->key < node2->key) { // если число из node меньше числа из node2 то переставляем их
                int i = node->key;
                node->key = node2->key;
                node2->key = i;
            }
    // выводим отсортированный список
    cout << "sort: ";
    for (arraylist *node = list; node; node = node->next) {
        cout << node->key << ' ';
    }
    cout << std::endl;
    return 0;
}

1
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
19.07.2013, 00:29 #13
Цитата Сообщение от Belfegor Посмотреть сообщение
int i = node->key;
* * * * * * * * node->key = node2->key;
* * * * * * * * node2->key = i;
менять местами элементы списка лучше перестановкой указателей. (а не перестановкой ключей)
а) Иначе чем это отличается от сортировки массива
б) как же тогда реализуются преимущества списка перед массивом по перемещениям/вставкам элементов?
0
-=ЮрА=-
Заблокирован
Автор FAQ
19.07.2013, 00:49 #14
wolf1396, первое сообщение от линковщика : где-то у разработчиков VS был каталог dd\vctools\crt_blt\self_x86\crt\srs в котором лежал срр-ник dbgdel.cpp с прототипами думаю чего то наподобие VirtualAlloc. Tак вот- то что было наверччено в коде с памятью отразилось бы при DEBUG проходе в 52-й строке того файла. Эта инфа называется трассировкой и служит она в первую очередь для разработчиков самой VS, это они (разаработчики) если к ним прийдёт еррор мессадж с компьютера смогут быстро поглядеть а чего ж такого приводило к эксепшину в 52-й строке. Для сингл юзера не имеющего под рукой dbgdel.cpp это просто непонятная бесполезная инфа.
По самому описанию ошибки заключу что была либо не выделена память либо произошло обращение по невалидному адресу (скажем в массиве из 4-х элементов запросили 5-й)
1
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
19.07.2013, 01:55 #15
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
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
    int k;
    setlocale(LC_CTYPE, "rus");
    srand(time(NULL));
    struct list
    {
        list * prev;
        list * next;
        int key;
    };
    list *i = new list; 
    list *j;
    i->next = 0;
    const int size = 10; 
    for(k = 1; k < size; k++){
        j=new list;
        i->prev=j;
        j->next=i;
        i->key=rand()%90+10;
        i=j;
    }
    i->prev=0;
    i->key=k;
 
    cout << "Ключи неотсортированнного списка: " << endl;
    j = i;
    while(j!=NULL){
        cout << (j->key) << " ";
        j = j->next;
    } 
 
    cout <<endl<< "Ключи неотсортированнного списка: " << endl;
    j = i;
    while(j->next){
        cout << (j->key) << " ";
        j = j->next;
    } 
    cout << (j->key) << endl;
    
    list *x;
    list *y;
    list* tmpre;
    list* tmnext;
    bool sorted=false;
    while(!sorted){
        sorted=true;
        x=i;
        while(x->next){
            if ((x->key)>(x->next->key)){
                y=x->next;
                tmpre=x->prev;
                tmnext=y->next;
 
                y->prev=tmpre;
                if (tmpre) tmpre->next=y;
                else   i=y;
 
                x->next=tmnext;
                if(tmnext) tmnext->prev=x;
                else j=x;
 
                x->prev=y;
                y->next=x;
 
 
                sorted=false;
            }
            else
                x=x->next;//
        }
    }
    cout << "Ключи отсортированного в порядке возрастания списка: " << endl;
    int u=0; 
    j=i;
    while(j){
        cout << j->key << " ";
        j = j->next;
    } 
    j=i;
    while(j) //удаление выделенной памяти
    {
        x = j;
        j = j->next; 
        delete x;
    }
    cout << endl;
    system("pause"); 
    return 0;
}
2
19.07.2013, 01:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2013, 01:55
Привет! Вот еще темы с ответами:

Что обозначают эти ошибки? - C++
Файл main() #include &quot;stdafx.h&quot; #include &quot;vector2.h&quot; #include &lt;iostream&gt; int main() { vector2 Obj(2500,50); vector2...

Что есть причиной ошибки? - C++
Здравствуйте. Задача: Функция, принимает в качестве параметров: многозначное целое число, символ – разделитель. Возвращает строку...

Ошибки в функции что не так? - C++
#include &lt;iostream&gt; using namespace std; int fadd(int,int); int fmul(int,int); int fsub(int,int); int fdiv(int,int); int main()...

На что указывают ошибки компиляции на скрине - C++
Здравствуйте! Помогите разобраться, в чем дело.. Что за ошибки выдает программа?


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

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

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