|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.06.2023, 18:33 | #1 |
Пользователь
Регистрация: 09.10.2022
Сообщений: 12
|
Добавление элемента в список на языке си
Здравствуйте, имеется файл с данными, в программе организован вывод данных в алфавитном списке и обратном алфавитном списке. Вопрос-как можно вклинить в список какое-то дополнительное значение. Например, я хочу дополнить свой список именем "пантера 2" как я могу это сделать, не изменяя исходный файл с данными?
void alfalist(struct z* tank)//алфавитный список { int i,x=3; struct sp* nt,*z; x = 3; Console::ForegroundColor = ConsoleColor::Red; Console::BackgroundColor = ConsoleColor::White; Console::Clear(); if (!spisok)//проверка существования списка printf("\n Алфавитный список танков"); printf("\n =================================== ==============================\n"); for (i = 0; i < NC; i++) vstavka(tank, tank[i].name);//применяем функцию вставка для заполнения алфавитного списка for (nt = spisok; nt != 0; nt = nt->sled) { Console::CursorLeft = 0; Console::CursorTop = x + 1; printf(" %-20s %ld", nt->name, nt->pace); x += 1; } x = 3; Console::CursorLeft = 40; Console::CursorTop = 1; printf("Обратный алфавитный список"); for (nt = spisok; nt != 0; z = nt, nt = nt->sled); for (nt = z, i = 0; nt != 0; i++, nt = nt->pred) { Console::CursorLeft = 40; Console::CursorTop = x + 1; printf(" %-20s %ld", nt->name, nt->pace); x += 1; } getch(); } void vstavka(struct z* tank, char* name) { int i; struct sp* nov, * nt, * z = 0; for (nt = spisok; nt != 0 && strcmp(nt->name, name) < 0; z = nt, nt = nt->sled); if (nt && strcmp(nt->name, name) == 0) return; nov = (struct sp*)malloc(sizeof(struct sp)); strcpy(nov->name, name); nov->sled = nt; nov->pred = z; nov->pace = 0; for (i = 0; i < NC; i++) if (strcmp(tank[i].name, name) == 0) nov->pace += tank[i].pace; if (!z) spisok = nov; if (z) z->sled = nov; if (nt) nt->pred = nov; return; } |
03.06.2023, 21:11 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
После загрузки списка вызвать vstavka с нужными параметрами.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двусвязный список, вставка элемента в заданную позицию, и удаление элемента из заданной позиции - C++ | Stok7 | Помощь студентам | 2 | 10.12.2016 19:52 |
Добавление элемента в массив. | Prin53 | Общие вопросы по Java, Java SE, Kotlin | 1 | 21.12.2012 01:56 |
Односвязный список, добавление элемента | Buserandi | Общие вопросы C/C++ | 13 | 27.07.2012 22:29 |
Добавление элемента в кольцевой список | ForzaJuve | Общие вопросы C/C++ | 1 | 09.11.2010 19:39 |
Двухсвязный список, добавление элемента в указанную позицию | redmonkey | Помощь студентам | 3 | 19.10.2010 12:29 |