Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 13.10.2018
Сообщений: 14

Односвязный список на основе динамического массива

19.06.2020, 09:52. Показов 3183. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый. Приклепляю проект с кодом.
Реализация : список на массиве. Предемл массива обьявлен в константе maxArray=100;
Вопрос : как переделать код,что бы массив был динамический(одномерный).
Моя мысль: при инициализации формы(процедура FormCreate) мы задаём j:=0;
В процедура MouseDown мы пишет как бы счётчик параллельно созданию точек J:=J+1;
В модуле OnA1 мы должны задать предел массива по значению J.
Тогда массив будет динамический,плюс мы будем знать его размер выводя значение J на форму.

Delphi
1
2
3
4
5
6
7
8
9
10
11
const
   maxArray=100;
 
type
 
 TData = TPoint;             //тдата хранит в себе точки
 TLst = record
   Data:array [1..maxarray]of TData;    //массив с типом
   LastLst: integer;
 end;
 TPosition = integer;        //точки тип данных

Как переписать сие код что бы у нас всё заработало?
PS-проект 1 - исходка
Вложения
Тип файла: rar Vektorny_redaktor_0_321.rar (3.93 Мб, 15 просмотров)
Тип файла: rar С изменениями.rar (3.93 Мб, 21 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.06.2020, 09:52
Ответы с готовыми решениями:

Список на основе динамического массива
Добрый вечер,уважаемые форумчане!Пожалуйста не кидайтесь тапками.Я не прошу решения моей задачи,просто объянсите мне пожалуйста что это...

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

Список на основе одномерного динамического массива
Добрый вечер! Кто может привести в пример структуру такого списка? (на основе одномерного динамического массива) без использования...

22
0 / 0 / 0
Регистрация: 13.10.2018
Сообщений: 14
21.06.2020, 07:10  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от volvo Посмотреть сообщение
И потом. Код - далеко не тот же самый. Если ты не видишь исправлений в методе OnMouseDown формы - не значит, что их там нет. Я специально закомментировал, что было раньше... В других местах тоже есть исправления.
Ряд вопросов :1) почему первая точка никак не реагирует на что либо?Она не нумеруется и никак не изменяется(передвинуть нельзя,соединить нельзя)
2) как вывести инфу со списка в обьект (номера точек+их координаты)
3)как отследить размерность массива\списка?
Миниатюры
Односвязный список на основе динамического массива  
0
0 / 0 / 0
Регистрация: 13.10.2018
Сообщений: 14
22.06.2020, 20:58  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
В некорректном добавлении точки в массив. Точнее - неправильно работала функция EndLst. Еще точнее - там был вечный цикл, значение i нигде не изменялось. Я переписал добавление точки через меню (Действия с точками - Создание) без использования EndLst, так что теперь там зависания нет. Остальные функции не проверял. Кроме того, без написания функции ReDrawPoints точка, добавленная на форму, тут же исчезала. Так что в OnPaint формы тоже есть изменения...
И потом. Код - далеко не тот же самый. Если ты не видишь исправлений в методе OnMouseDown формы - не значит, что их там нет. Я специально закомментировал, что было раньше... В других местах тоже есть исправления...

Переписал побожески модуль А1. сделал через case , преподаватель сказал А1 сделать,потом к А2 переходить.Так и поступил.
Собственно вопрос, нужно добавить функционал удаления отмеченных точек.
Идея что пришла сразу в голову : обьявить второй список с точками\массив. Переносить со списка 1 в список 2, обнулять второй список.
Вопрос в реализации- как сделать?
Может есть способ проще или эффективнее?
0
0 / 0 / 0
Регистрация: 13.10.2018
Сообщений: 14
22.06.2020, 21:00  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
В некорректном добавлении точки в массив. Точнее - неправильно работала функция EndLst. Еще точнее - там был вечный цикл, значение i нигде не изменялось. Я переписал добавление точки через меню (Действия с точками - Создание) без использования EndLst, так что теперь там зависания нет. Остальные функции не проверял. Кроме того, без написания функции ReDrawPoints точка, добавленная на форму, тут же исчезала. Так что в OnPaint формы тоже есть изменения...
И потом. Код - далеко не тот же самый. Если ты не видишь исправлений в методе OnMouseDown формы - не значит, что их там нет. Я специально закомментировал, что было раньше... В других местах тоже есть исправления...
Прилагаю переписанную программу. Не особо понимаю куда идут какие данные,сделаю вывод всех списков,координат и тд,что бы разобраться с этим.
Вложения
Тип файла: rar Редакция А1 с кейс.rar (4.28 Мб, 10 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2020, 21:00

Составить односвязный список на основе класса, объекты которого будут формировать этот список
Составить односвязный список на основе класса, объекты которого будут формировать этот список. В описание класса должны входить данные...

Составить односвязный список на основе класса
Составить односвязный список на основе класса, объекты которого будут формировать этот список. В описание класса должны входить данные для...

Создать односвязный список на основе вектора для работы с целыми числами
Подскажите пожалуйста как создать односвязный список на основе вектора для работы с целыми числами???

Очередь на основе динамического массива
Помогите найти ошибку, по заданию надо записать в очередь данные из файла, а при записи отрицательного числа программа должна извлечь все...

Стек на основе динамического массива
Надо написать стек на основе динамического массива. Как выделить память под новый элемент? template <typename T> void...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru