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

Создаем очередь FIFO и печатаем сначала первые 5 элементов, затем первые 7 (с выделением памяти)

10.01.2019, 13:55. Показов 1108. Ответов 5

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста исправить ошибки в программе и запустить ее. Компилятор нашел одну <<использована неинициализированная локальная переменная "head">> в 24 строке.
Программа по теме "one-way linked list" (односторонний связанный список). Создание очереди FIFO.

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
#include <stdio.h> 
#include <stdlib.h>
#include <windows.h> 
 
/*создаем очередь FIFO и печатаем сначала первые 5 элементов, затем первые 7 (с выделением памяти)*/
/*описываем структуру*/
struct element
{
    int value;
    struct element *next;
};
 
int main()
{
    /*задаем элементы (начальный элемент в списке и переменная) */
    struct element *head, *ptr;
 
    /*выделяем память*/
    ptr = (element *)malloc(10 * sizeof(int));
 
    /*используемый массив*/
    int values[10] = { 2, 4, 5, 6, 7, 8, 9, 1, 3, 0 };
    /*задаем значение начальному элементу и ставим переменную в начало списка*/
    head->value = values[0];
    ptr = head;
    
    /*печатаем нужное количество элементов с помощью счетчика k*/
    int k = 0;
    printf("First 5 values\n");
    while (k != 5) {
        printf("%d\n", ptr->value);
        ptr = ptr->next;
        k++;
    }
    printf("First 7 values\n");
    while (k != 7) {
        printf("%d\n", ptr->value);
        ptr = ptr->next;
        k++;
    }
 
    /*освобождаем память*/
    free(ptr);
    printf("Memory is freed");
 
    system("pause");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2019, 13:55
Ответы с готовыми решениями:

Вывести исходные данные в первые 4 строки и 3 первые столбца. вычислить среднее арифметическое элементов каждой строки
Матрица : Х(5,4), Вывести исходные данные в первые 4 строки и 3 первые столбца.. вычислить среднее арифметическое элементов каждой строки...

Как обнулить первые 4-е бита начиная с певого заряженного (первые - старшие биты)
Собственно, вопрос в заголовке.

Напечатать отдельно первые ,а затем вторые слова из пар.
Помогите,пожалуйста! дано несколько строковых переменных .В каждой из них даны имена и фамилии(Например Илья Муромец ,Александр Невский...

5
447 / 333 / 172
Регистрация: 01.07.2015
Сообщений: 1,161
10.01.2019, 15:23
Цитата Сообщение от Veronika_Kon Посмотреть сообщение
Компилятор нашел одну <<использована неинициализированная локальная переменная "head">> в 24 строке.
C++
1
  head = new element();
1
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 51
10.01.2019, 15:48  [ТС]
Подскажите почему компилятор может выдавать ошибку на строчку "printf("%d\n", ptr->value)"?
Говоря, что "ptr было nullptr" и нарушение доступа для чтения.
0
447 / 333 / 172
Регистрация: 01.07.2015
Сообщений: 1,161
10.01.2019, 15:54
Вы заполняете только первое значение:

Цитата Сообщение от Veronika_Kon Посмотреть сообщение
head->value = values[0];
+ мое сообщение

Про остальные элементы списка речи не идет, их нужно создавать так же, как head
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 51
10.01.2019, 15:57  [ТС]
А можете пожалуйста поточнее объяснить, что сделать?
0
447 / 333 / 172
Регистрация: 01.07.2015
Сообщений: 1,161
10.01.2019, 16:07
Цитата Сообщение от Veronika_Kon Посмотреть сообщение
А можете пожалуйста поточнее объяснить, что сделать
Посмотреть темы про односвязные списки: тык тык
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.01.2019, 16:07
Помогаю со студенческими работами здесь

Напечатать отдельно первые, а затем вторые слова из пар
дано несколько строковых переменных .В каждой из них даны имена и фамилии(Например Илья Муромец ,Александр Невский ). Напечатать отдельно...

Очередь элементов (FIFO)
Нужно создать программу демонстрации работы очереди(FIFO) на примере автомобилей которая будет включать в себя функции: Push – (номер,...

Все отрицательные элементы поставить на первые места в массиве, а затем положительные
Суть заключается в том, что нужно все отрицательные элементы поставить на первые места в массиве, а затем уже положительные. Пример: 1 -2 3...

C++ первые шаги (абсолютно первые)
Привет, пользователи CyberForum. Я относительно давний юзер этого форума, и вот, наконец-то решил воплощать мечту в реальность, а именно...

Текстовые файлы. В третий файл внести поочередно 2 первые строки из второго файла,а затем из первого
1.в редакторе создайте два текстовых файла,внесите в каждый файл по 10 строк произвольного текста. 2.из двух исходных файлов при помощи...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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