С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Вывод числа типа double как есть Кто-нибудь помогите понять тип double!!! Как вывести заданное число как оно есть? Например, записываем в f число 14049.30493 то нужно вывести 14049.30493, а выводит 14049.3. Если добавить cout.setf(ios_base::fixed), то он добавляет 0 в конце. double f; cin >> f; cout << f; https://www.cyberforum.ru/ cpp-beginners/ thread1583576.html Быстрое считывание 32кб из файла 7гб C++
Есть бинарный файл размером 6,95 ГБ, он представляет из себя массив short. Необходимо быстро считать случайные 65536 шортов. Т.к. весь файл целиком не нужен, помещать его в оперативную память не рационально, да и физически не возможно (По требованиям программа должна запускаться на компьютере с 4гб ОЗУ и одним HDD.) . На текущий момент использую в цикле seek и read, примерное время выходит 15...
C++ Ввести число линий и построить фигуру https://www.cyberforum.ru/ cpp-beginners/ thread1583569.html
Ввести с клавиатуры число линий и построить фигуру
C++ Ввести число линий штриховки и построить фигуру-2 Ввести с клавиатуры число окружностей и построить фигуру, залив все области разным цветом. https://www.cyberforum.ru/ cpp-beginners/ thread1583566.html
Ввести число линий штриховки и построить фигуру C++
Ввести с клавиатуры число линий штриховки и построить фигуру, залив все области разным цветом
C++ Структуры Известно количество очков, набранных каждой из 20 команд — участниц первенства по футболу. Ни одна пара команд не набрала одинакового количества очков. а) Определить название команды, ставшей чемпионом. б) Определить названия команд, занявших второе и третье места. в) Определить названия команд, занявших первое и второе места, не используя при этом двух операторов цикла (два прохода по... https://www.cyberforum.ru/ cpp-beginners/ thread1583536.html
C++ Функции:Составить процедуру, результатом работы которой Составить процедуру, результатом работы которой является истинное значение, если символ, заданный при обращении к процедуре, – буква, и ложное значение в противном случае. https://www.cyberforum.ru/ cpp-beginners/ thread1583528.html C++ Строки:После ввода с клавиатуры строками некоторых фамилий
После ввода с клавиатуры строками некоторых фамилий и рядом с ними возраста (год рождения) отсортировать и выдать на экран этот список, но с отсортированными по алфавиту фамилиями. Фамилии из символов различных алфавитов расположить отдельными группами.
C++ Сортировка массива простым включением Есть псевдодинамический массив, надо отсортировать простым включением (Сортировка вставками) const int ArrayMAX = 100;// Константа размера массива int mas; //Иниц массив int countel; // количество элементов cout << "Введите количество элементов массива" << endl; cin >> countel; for (int place = 0; place < countel; place++) { mas = rand() %100; cout << mas << endl; https://www.cyberforum.ru/ cpp-beginners/ thread1583518.html C++ Ошибка или баг Visual Studio 2015? https://www.cyberforum.ru/ cpp-beginners/ thread1583503.html
Кто сталкивался с проблемой когда после сборки программы, зависает Visual? Даже пустой проект не может запустить, хотя раньше запускал. Смотрел в диспетчер, там все же запускается .exe файл, но он не отображается, при убивании процесса Visual, ехе остается, и убить его невозможно ни диспетчером не Process Explorer'ом. Помогает только перезагрузка. Ну как сказать помогает, программа то все равна...
Заменить данное число на число, которое получается из исходного записью цифр в обратном порядке C++
Заменить данное натурально число на число, которое получается из исходного записью цифр в обратном порядке(например, дано число 156, нужно получить 651) Использовать функции.
C++ Найти все натуральные числа, которые делятся на каждую из своих цифр Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр. Использовать функции. https://www.cyberforum.ru/ cpp-beginners/ thread1583492.html
83 / 10 / 8
Регистрация: 17.11.2015
Сообщений: 39
17.11.2015, 12:00 0

Обьяснить код - C++ - Ответ 8353146

17.11.2015, 12:00. Показов 1015. Ответов 3
Метки (Все метки)

Лучший ответ Сообщение было отмечено orakul77 как решение

Решение

C++
1
Elem *current = head;
Устанавливаем указатель current на голову списка.

C++
1
if (!current) return;
Если список пустой, то выходим из функции.

C++
1
2
3
4
5
if (current->value == value)
{
    head = current->next;
    delete current;
}
Если элемент в голове равен удаляемому значению, то производим удаление. Для этого присваиваем голове списка значение, следующее за удаляемым и вызываем деструктор элемента current.

C++
1
2
Elem *prev = current;
current = current->next;
Указателю prev присваиваем значение указателя на current, а значение current меняем так, чтобы оно указывало на следующее за ним.

C++
1
2
3
4
5
while (current && current->value != value)
{
    prev = current;
    current = current->next;
}
Пока не дойдём до конца списка (первое условие while) и значение элемента в current не станет равным тому, которое нужно удалить, двигаемся по списку. Пи этом указатель prev меняем на указатель current, а current меняем на current->next.

C++
1
2
3
if (current)
    prev->next = current->next;
delete current;
Если указатель current не нулевой (то есть мы не дошли до конца списка), то переставляем указатель prev->next на элемент, следующий за current, то есть на current->next. После этого вызываем деструктор элемента, на который указывает current. Кстати, проверка на то, что не достигнут конец здесь лишняя, delete прекрасно работает с нулевыми указателями. Хорошей практикой также является присвоение NULL указателю, на котором был вызван delete (это может помочь избежать двойных очисток памяти). Но это я так, к слову.

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

Обьяснить код
Что обозначает каждая строка когда, что за что отвечает. #include &lt;iostream&gt; #include &lt;math.h&gt;...

Обьяснить код
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class school { protected: int...

Обьяснить, допустим ли приведенный код
Я изучаю С++ по книге Язык программирования С++.Вводный курс. Так вот там задание: Обьяснить,...

Оптимизировать код и обьяснить с матрицами.
Ниже предоставлены 3 кода. Я прошу вас, если это возможно, подсказать мне как можно их сделать...

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

Обьяснить задачу
Что делают return 24*60-m-h*60; и return 24*60-m-h*60-(float)s/60; и return...

Обьяснить переменную
В иходниках libav есть такая структура, int16_t (*motion_val); Обрашение к ней идет такое...

Обьяснить фрагмент кода
Сколько копий переменной var будет создано при исполнении этого фрагмента кода? Каких значений...

Обьяснить программу (Принципи ее работы)
Здравствуйте! Есть программа: #include &lt;stdio.h&gt; #include &lt;memory.h&gt; struct arrInt { char...

Обьяснить что делает программа
Уважаемым товарищи программисты объясните пожалуйста что делает эта программа. Что происходит в...

Как обьяснить формулы в коде
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main () { float a, b, c ,...

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