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

ОС Windows инициировала точку остановы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не могу скомпилировать http://www.cyberforum.ru/cpp-beginners/thread959350.html
Как решить?
C++ Поиск слов с одинаковыми 1-й и последней буквой Здравствуйте! Помогите пожалуйста решить данную задачу... "Программа должна искать слова в строке, с одинаковыми 1-й и последней буквой слова, и выводит их кол-ство на экран. В строке, после каждого знака запятой, выводить символ "P". Использовать не более 1-го массива символов". Как бы, задача простая(по логике), но вот, у меня всё равно, не подсчитываются слова... С буквами-легко, а вот... http://www.cyberforum.ru/cpp-beginners/thread959343.html
ПРисвоить указателю нулевое значение- кк? с поммощщю каких знаков и действий? C++
Пожалуста, обьясните принцип. Такого присвоения.
C++ Не работает оперативная память озу
Здраствуйте у меня стоит память : Kingston DDR3-1333 (667 МГц) 2 Гб. Купил новую Kingston DDR3-1333 4 Гб поставил и при загруске винди появляется синий экран,менял её в магазине но проблема не изчезла в чем может быть причина?
C++ Сброс битов http://www.cyberforum.ru/cpp-beginners/thread959333.html
Вот такое условие. "Если в числе x установлен бит n и установлен бит m, то в числе y сбросить биты 3 и самый старший бит." Логически понятно, но как представить в виде кода С++. При помощи цикла.
C++ Алгоритм вычисления суммы ряда Помогите написать алгоритм нахождения суммы ряда \sum_{K=O}^{\propto } \frac{{x}^{2k}}{{2}^{k}*2!} подробнее

Показать сообщение отдельно
Utkin53
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 25
21.09.2013, 21:17     ОС Windows инициировала точку остановы
Доброго времени суток, вопрос следующего плана: существует односвязный список, из него удаляется определённый элемент. Проблема в следующем: при оформлении функции void udal () в виде части функции void main () удаление происходит корректно, но в случае оформления как отдельной функции, после её выполнения выскакивает эта ошибка, в случае её пропуска программа продолжает свою работу относительно корректно. Отчего такое происходит и что с этим делать?
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
struct sp
{
    char imya [30];
    char adres [20];
    int uchastok;
    char data [10];
    sp *next;
};
sp *add (sp *begin)
{
    int i,j,nm,n;
    char s;
    FILE *fi;
    fi=fopen ("f_in.txt","rt");
    fscanf (fi,"%d",&n);
    for (i=0;i<n;i++)
    {
        sp*list=new sp;
        for (j=0;j<30;j++)
        {
            list->imya[j]=' ';
        }
        for (j=0;j<20;j++)
        {
            list->adres[j]=' ';
        }
 
        for (j=0;j<30;j++)
        {
            fscanf (fi,"%c",&s);
            if (s=='#')
            {
                break;
            }
            else
                list->imya[j]=s;
        }
        for (j=0;j<20;j++)
        {
            fscanf (fi,"%c",&s);
            if (s=='#')
            {
                break;
            }
            else
                list->adres[j]=s;
        }
        for (j=0;j<10;j++)
        {
            fscanf (fi,"%c",&s);
            list->data[j]=s;
        }
        fscanf (fi,"%c",&s);
        fscanf(fi,"%d",&nm);
        list->uchastok=nm;
        list->next=begin;
        begin=list;
    }
    return begin;
    
}
 
void write (sp *begin)
{
    int j;
    sp*list=NULL;
    list=begin;
    while (list)
    {
        for (j=0;j<30;j++)
        {
            cout<<list->imya[j];
        }
        for (j=0;j<20;j++)
        {
            cout <<list->adres[j];
        }
        for (j=0;j<10;j++)
        {
            cout <<list->data[j];
        }
        cout<<" "<<list->uchastok;
        list=list->next;
    }
}
void udal (sp*begin,sp*list)
{
    sp*temp=NULL;
    if (list==begin)
            {
                begin=begin->next;
                delete (list);
                *list=*begin;
            } else
            {
                temp=begin;
                while (temp->next!=list)
                {
                    temp=temp->next;
                }
                temp->next=list->next;
                delete (list);
                *list=*temp;
 
            }
}
void main ()
{
    setlocale(LC_CTYPE,"Russian");
    sp *begin=NULL,*list=NULL,*next=NULL;
    int j;
    begin=add (begin);
    write (begin);
    list=begin; 
    while (list)
    {
        if (list->imya[1]=='Н')
        {
                udal (begin,list);
    
        }
        list=list->next;
    }
    write (begin);//выскакивает при переходе сюда
    getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru