Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.12.2017
Сообщений: 11

Выдает ошибку, не знаю как исправить

26.05.2018, 15:05. Показов 898. Ответов 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
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
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <iostream>
using namespace std;
// Определяется структура. Заказываем необходимый размер
// памяти для записи информации о новом объекте.
struct node
{
    int inf; // Поле для записи целых чисел.
    node *next; // Поле указателя для записи адресов элементов типа node.
};
void main()
{
    node *r, *fr=NULL, *er=NULL; // fr – указатель на головной элемент списка.
    // er – указатель на последний элемент списка.
    // r – указатель для формирования нового узла списка.
    node *rp=NULL;
    int a, b; // a – переменная для записи целых чисел.
    //clrscr();
    FILE *f;
    fopen_s(&f,"t.dat", "r");
    //============= Начало формирования списка =============
    do // Начало цикла ввода чисел из файла.
    {
        scanf_s("%d", &a); //Ввод числа из файла.
        r = new node; //Создаем новый элемент списка.
        //========== Выделяем память для нового элемента ==========
        r->inf = a; //Инициализируем поле inf нового элемента списка.
        r->next = NULL; //Инициализируем поле указателя нового элемента списка.
        if (fr == NULL) //Проверяем: список существует или нет. Если fr = NULL, то списка нет.
            fr = r; // Поэтому новый элемент объявляем головным.
        else // Если список существует, то
            er->next = r; // новый элемент присоединяем к списку.
        er = r;
    } // Новый элемент объявляем последним.
    while (!feof(f)); // Конец цикла ввода чисел из файла.
    fclose(f); // Конец формирования списка.
    //================ Вывод списка на экран =================
    cout << "\tСформирован список:\n\n";
    r = fr;
    while (r != NULL) // Пока не дошли до последнего элемента списка.
    {
    cout << r->inf << " "; // Вывод информации из поля inf элемента,
        // адрес которого находится в указателе r.
        r = r->next; // Переход к следующему элементу списка.
        // Для этого из поля next текущего элемента списка
        // в указатель r пересылаем адрес на следующий элемент.
    }
    _getch();
    cout << "\n\nУдалить узел cо значением k= ";
    cin >> a;
    r = fr;
    if (r->inf == a)
    {
        cout << "\nудаляется головной узел списка\n";
        fr = fr->next; // В указатель на первый элемент пересылаем
        // адрес второго элемента списка.
        delete r;
    }
    else
    {
        while ((r->inf != a) && (r != NULL)) // Поиск элемента, который надо удалить.
        {
            rp = r; // Запоминаем адрес пройденного элемента.
            r = r->next;
        } // Переходим на новый элемент.
        if (r->inf == a) // Проверяем, найден элемент или нет.
        {
            cout << " Удаляется узел со значением " << r->inf << "\n\n";
            rp->next = r->next; //Поле указателя удаляемого элемента пересылаем в
            //поле указателя элемента, который расположен перед
            //удаляемым.
            delete r;
            cout << "\tСписок после удаления элемента: \n\n";
            r = fr;
            while (r != NULL) // Пока не дошли до последнего элемента списка.
            {
                cout << r->inf << " "; // Вывод значения текущего элемента списка.
                r = r->next; // Переход к следующему элементу списка.
                // Для этого из поля next текущего элемента списка
            } // в указатель r пересылаем адрес на следующий элемент.
        }
        else
            cout << "\n" << "Узел со значением " << a << " не найден ";
        _getch();
    }
    //==================Вставка нового элемента в список====================
    cout << "\n\nВставить в список элемент со значением b= ";
    cin >> b;
    cout << "\n\nЗа элементом со значением n = ";
    cin >> a;
    r = fr;
    while ((r->inf != a) && (r != NULL))
        r = r->next;
    if (r->inf == a)
    {
        rp = new node; // Выделяем память под новый элемент.
        rp->inf = b; // Заполняем поле inf нового элемента.
        rp->next = r->next; // К новому элементу присоединяем правую часть списка.
        r->next = rp; // К левой части списка присоединяем новый элемент списка.
        cout << "Cписок после вставки элемента со значением: " << b << "\n";
        r = fr;
        while (r != NULL)
        {
            cout << r->inf << " ";
            r = r->next;
        }
    }
    else
        cout << "\n Элемент списка со значением " << a << " не найден ";
    //==============Вставка в список нового головного элемента ===================
    cout << "\n\n Введи значение для нового головного элемента n = ";
    cin >> a;
    rp = new node; // Выделяем память под новый элемент.
    rp->inf = a; // Заполняем поле inf нового элемента.
    rp->next = fr; // Новый элемент делаем первым.
    fr = rp; // В указатель на первый элемент списка пересылаем адрес нового элемента.
    cout << "\n Список с новым головным элементом: \n";
    r = fr;
    while (r != NULL)
    {
        cout << r->inf << " ";
        r = r->next;
    }
    _getch();
}
Миниатюры
Выдает ошибку, не знаю как исправить  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2018, 15:05
Ответы с готовыми решениями:

Не знаю как исправить ошибку
при выводе всего списка не выдает верную информацию. Не могу понять что не так, помогите. Заранее спасибо. #include &lt;stdio.h&gt; ...

Не знаю как исправить ошибку
Всем привет! В общем делал задание на перегрузку операторов, вот код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Не знаю как исправить ошибку в коде С++
#include &lt;Windows.h&gt; #include &lt;fstream&gt; using namespace std; #define HookShell...

1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.05.2018, 19:15
Делаешь за деньги и задаёшь вопросы в форуме?
Проверяй, что файл открылся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2018, 19:15
Помогаю со студенческими работами здесь

Не знаю как исправить ошибку в программе
Добрый день. Вот код программы: #pragma argsused #include &lt;iostream.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; void insert (int...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...

нужно найти ошибки в задаче на языке C/ их в районе 10 как выдает компилятор но я не могу их исправить (не знаю как)
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; void main() { int xa, ya, xb, yb; cprintf(&quot;vvod xa, ya, xb, yb&quot;); ...

Факториалы. У меня выводит ошибку , но я не знаю , как её исправить

Выдает ошибку, как исправить её?
//Подсчитать количество строк заданной целочисленной матрицы NxN, являющихся перестановкой чисел 1,2...N //( т.е. содержащих кадое из...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru