Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как лучше переделать программу чтобы отсутствовали глобальных переменных https://www.cyberforum.ru/ cpp-beginners/ thread1050653.html
есть программа, как лучше переделать программу что бы отсутствовали глобальных переменных, т.е. чтобы все передавалось через параметры. прошу с комментариями. /* Igra v Kpestiki Noliki */ #include <stdio.h> #include <stdlib.h> char matrix; /* Igral'naya Doska */ char check(void); void init_matrix(void); void get_player_move(void);
C++ Программа работы с файлами. Информация о студентах.
Нужно создать программу, которая обрабатывала б базы данных, считывала информацию с файла, редактирвала эту информацию, удаляла часть инфы, и сохраняла обратно в файл, а так же поиск в базе по фамилии. В базе данных использовать информацию о студентах, а именно: ФИО, адресс, возраст и группу. Я сделал часть, где нужно считать с файла и поиск по фамилии. А вот остальное я пока не знаю как. Код...
C++ Найти все целые положительные числа a,b,c из промежутка 3) Найти все целые положительные числа a,b,c из промежутка (0,100) такие что a^3+b^2=c^2. P.S. в первой и второй задаче желателен вод с клавиатуры. Заранее благодарю. https://www.cyberforum.ru/ cpp-beginners/ thread1050646.html C++ Задача про двумерный массив https://www.cyberforum.ru/ cpp-beginners/ thread1050641.html
Вот условие: Дана целая матрица размером (n*m) n, m <=10. Упорядочить (переставить) строки матрицы по возрастанию количества положительных элементов в одной строке. #include<stdio.h> #include<math.h> int main(){ int n,m,i,j,a,k, masO, l, z, b, c, v, masP; do { printf("Vvedite razmer matrici NxM<=10\n"); scanf("%d%d",&n,&m); } while((n>10)||(m>10)||(n<=0)||(m<=0)); for (i=0; i<n; i++)...
Нужно объяснение кода про нахождение количества решений для латинского квадрата C++
Я не могу понять код, который мне нужно будет уже послезавтра объяснить. Задача состоит в том, чтобы найти количество решений для латинского квадрата и вывести эти квадраты на экран: int Factorial(int n) {if (n<=1) return 1; else return n*Factorial(n-1); } const int N = 4; const int Nf = Factorial(N); struct strN { int mas_;
C++ как написать вывод? https://www.cyberforum.ru/ cpp-beginners/ thread1050609.html
Как написать вывод объема тетраэдра (тема класс)? //На вход подается некоторое количество тетраэдров(координаты вершин). //Отсортировать и вывести их по возрастанию объемов. #include <iostream> #include <stdio.h> #include <locale> #include <math.h> using namespace std;
C++ как написать вывод? https://www.cyberforum.ru/ cpp-beginners/ thread1050607.html
как написать в классах чтобы он выводил объем тетраэдра? //На вход подается некоторое количество тетраэдров(координаты вершин). //Отсортировать и вывести их по возрастанию объемов. #include <iostream> #include <stdio.h> #include <locale> #include <math.h> using namespace std;
Изменение громкости mp3 C++
Добрый день, стоит задача программно изменять громкость mp3 файла на с++, никак не могу найти подходящую библиотечку, подсказали ffmpeg , но нужный мне метод я так найти и не смог, подскажите плз:(
C++ учет прибывших самолетов https://www.cyberforum.ru/ cpp-beginners/ thread1050593.html
Здравствуйте, помогите пожалуйста как можно написать программу учета прибывших самолетов (Москва - Киев и т.д.). Самолеты становятся в очередь для заправки, заправляются и выбывают из очереди.:wall: не могу сообразить...буду очень благодарна, последняя лабораторная осталась..
C++ Дана последовательность символов. Определить в ней символ, который по алфавиту предшествует другим 1 задание Дана последовательность символов. Определить в ней символ, который по алфавиту предшествует другим. #include<iostream> #include<locale.h> using namespace std; void main() { int i, k; char ss1="abcdef"; https://www.cyberforum.ru/ cpp-beginners/ thread1050586.html
C++ Сложное задание
Доброе утро, уважаемые программисты. Попалась очень сложная задачка на С++. Не могу даже понять, как к ней приступиться. Очень-очень буду благодарен за помощь. У меня 3 вариант Пересоздайте тему с перепечатанным заданием. Задание в виде картинок запрещены.
C++ Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке https://www.cyberforum.ru/ cpp-beginners/ thread1050567.html
Дана строка, набранная из слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, разделенные одним пробелом и расположенные в алфавитном порядке.
1296 / 469 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
0

При удалении первого элемента из динамического списка присваивается плохой указатель - C++ - Ответ 5533094

21.12.2013, 12:48. Показов 1291. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема появляется только при удалении первого элемента.

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
// Запись содержит марку автобуса, максимальную скорость, вместимость. 
// Удалить из списка записи с автобусами, вместимость которых ниже 25 пассажиров 
// и максимальной скоростью выше 120 км/ч.
 
#include "stdafx.h"
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
#include <conio.h>
 
struct Avtobus
{
    char marka[40];
    unsigned int max_skorosti, vmestimosti;
    Avtobus *sled;
};
 
void prochitati(Avtobus *&pervyi) // & чтобы указатель можно было изменять
{
    unsigned int n;
    cout << "Vvedite kolichestvo avtobusov: ";
    scanf("%i%*c",&n);
 
    if (n == 0)
    {
        pervyi = NULL;
        return;
    }
    else
        pervyi = new Avtobus;
    cout << endl << "Avtobus nr.1" << endl;
    cout << "Marka: ";
    gets(pervyi->marka);
    cout << "Maximalinaia skorosti: ";
    cin >> pervyi->max_skorosti;
    cout << "Vmestimosti: ";
    scanf("%i%*c",&pervyi->vmestimosti);
    cout << endl;
 
    Avtobus *tek = pervyi;
    for (int i = 2; i <= n; i++)
    {
        tek->sled = new Avtobus;
        tek = tek->sled;
        cout << "Avtobus nr." << i << endl;
        cout << "Marka: ";
        gets(tek->marka);
        cout << "Maximalinaia skorosti: ";
        cin >> tek->max_skorosti;
        cout << "Vmestimosti: ";
        scanf("%i%*c",&tek->vmestimosti);
        cout << endl;
    }
    tek->sled = NULL;
}
 
void udaliti(Avtobus *pervyi)
{
    Avtobus *tmp;
    while ((pervyi != NULL) && (pervyi->vmestimosti < 25) && (pervyi->max_skorosti > 120))
    { // удаляем из начала
        tmp = pervyi; // сохраняем адрес первого
        pervyi = pervyi->sled; // второй становится первым
        delete tmp; // освобождаем память
    }
    if (pervyi == NULL) // если удалили все - выходим
        return;
    
    Avtobus *tek = pervyi;
    while (tek->sled != NULL) // пока список не закончился
        if ((tek->sled->vmestimosti < 25) && (tek->sled->max_skorosti > 120))
        {
            tmp = tek->sled; // сохраняем адрес
            tek->sled = tek->sled->sled; // следующий после следующего становится следующим
            delete tmp; // освобождаем память
        } // если мы удалили элемент, то надо снова проверять следующий, поэтому не меняем tek
        else
            tek = tek->sled; // не удалили - смотрим на следующий
}
 
void print(Avtobus *pervyi)
{
    Avtobus *tek = pervyi;
    while (tek != NULL)
    {
        cout << "Marka: " << tek->marka
            << ", max.skor.: " << tek->max_skorosti
            << ", vmest.: " << tek->vmestimosti << endl;
        tek = tek->sled;
    }
    cout << endl << endl;
}
 
int main()
{
    Avtobus *spisok;
    prochitati(spisok);
    cout << "Do udalenia: " << endl << endl;
    print(spisok);
    getch();
    udaliti(spisok);
    cout << "Posle udalenia:" << endl << endl;
    print(spisok);
    getch();
    return 0;
}


Вернуться к обсуждению:
При удалении первого элемента из динамического списка присваивается плохой указатель C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2013, 12:48
Готовые ответы и решения:

Сообщение при создание первого и удалении последнего элемента класса
Здравствуйте, форумчане! Прошу помощи с заданием: Создать класс Alfa таким способом, чтобы при...

При удалении элемента из списка вылетает программа
Здравствуйте, помогите, пожалуйста. У меня есть программа по работе с классами и списком (код...

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

Ошибка при создании 2-го элемента динамического списка
НЕ могу понять откуда как исправить данную ошибка . Выскакивает как мне кажется при попытке...

4
21.12.2013, 12:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2013, 12:48
Помогаю со студенческими работами здесь

Дублирование динамического элемента при удалении
При закрытие модального окна, оно удаляется, но при повторном нажатии на кнопку добавить статью...

ERangeCheckError при удалении элемента из динамического массива
Нужно удалить из массива элемент по его индексу. Как я понял, нужно сдвинуть элементы идущие после...

Ошибка при удалении первого элемента
Здравствуйте! Столкнулся с такой проблемой: ниже код кнопки удаления. Все работает при удалении...

Как при удалении элемента из списка, полностью его удалить
Подскажите, как при удалении элемента из списка, полностью его удалять, чтобы не висел в памяти? ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru