Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2014, 17:51   #1
nImka
Новичок
Джуниор
 
Регистрация: 17.09.2014
Сообщений: 5
По умолчанию Линейный список через массив

Программа моделирования линейного списка с помощью массива. В программа должно быть: поиск элемента с заданной информационной частью, удаление заданного элемента со сдвигом (при необходимости) хвостовой части влево для заполнения образовавшейся пустой ячейки.
Выполнение всех операций предусматривает необходимые проверки (наличие в списке хотя бы одного элемента, наличие свободных ячеек, наличие искомого элемента). Все основные операции оформляются как подпрограммы с параметрами. Главная программа создает пустой список, устанавливая счетчик числа элементов в списке в нуль, и организует диалог для реализации всех операций. Проверить работу программы для небольшого массива (до 10 элементов).

Помогите пожалуйста с реализацией. Можно просто в консольном варианте.
nImka вне форума Ответить с цитированием
Старый 17.09.2014, 17:56   #2
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

>> Помогите пожалуйста с реализацией
Чем именно помочь? В смысле написать программу? Тогда это во фриланс. А если какие-то вопросы по выполнению, так задавайте вопросы, постараемся ответить.
indexx вне форума Ответить с цитированием
Старый 17.09.2014, 18:20   #3
nImka
Новичок
Джуниор
 
Регистрация: 17.09.2014
Сообщений: 5
По умолчанию

Не могу понять, как это сделать через массив. Вот если как здесь https://ru.wikipedia.org/wiki/%D0%9B...81%D0%BE%D0%BA
то тут его делают через type, но массив не применяют. А в случае с массивом. Объясните пожалуйста T_T
nImka вне форума Ответить с цитированием
Старый 17.09.2014, 18:24   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Мож прикрутить TList или TObjectList, сдать лабу и забыть?
Чо велосипеды-то изобретать?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 17.09.2014, 18:29   #5
nImka
Новичок
Джуниор
 
Регистрация: 17.09.2014
Сообщений: 5
По умолчанию

Так сказали сделать. Еще к тому же, сдаем это все на PascalABC (у преподавателя такой бзик).
nImka вне форума Ответить с цитированием
Старый 17.09.2014, 18:29   #6
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Код:
info: array of integer; // динамический массив.
Далее расписываем процедуры добавления элемента, поиска элемента, удаления элемента. Гуглим работу с динамическими массивами.
indexx вне форума Ответить с цитированием
Старый 17.09.2014, 18:40   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Еще к тому же, сдаем это все на PascalABC
Там ООП хоть есть ваще? Встроенные стандартные классы и всё такое? Или всё с нуля писать? Динамические массивы есть там, хотя бы?

Щас скачаю посмотрю, чо за хрень такая...

Вот тут всё для тебя есть. Разжевали, осталось только проглотить.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 17.09.2014 в 18:45.
min@y™ вне форума Ответить с цитированием
Старый 17.09.2014, 18:50   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

В классическом линейном списке используются указатели. При реализации списка через массив вместо указателей используются индексы в этом массиве. Других отличий _при работе_ нет. Различие только в механизме выделения памяти: в классическом варианте выделение и освобождение памяти происходит при каждой операции создания/удаления элемента, а в случае с массивами - один раз для всего массива. Соответственно, нужно самому отслеживать незанятые элементы массива.
s-andriano вне форума Ответить с цитированием
Старый 17.09.2014, 18:54   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Блин, эт прям гибрид паскаля с си++....
Код:
/// Создание массива и заполнение его случайными числами
procedure CreateRandom(var a: array of integer; n: integer);
begin
  a := new integer[n];
  for var i:=0 to n-1 do
    a[i] := random(100);
end;

procedure CreateRandom(var a: array of real; n: integer);
begin
  a := new real[n];
  for var i:=0 to n-1 do
    a[i] := random*10;
end;
У вас препод наркотой балуется? К мальчикам пристаёт? Не нравится мне этот бзик...
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 17.09.2014, 19:41   #10
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Задайте для начала тип списка? Какого типа могут быть там элементы: Строки, Символы, Целые числа, Дробные числа, Указатели?
Потом уже имея какие-то представления вы сможете создать алгоритм действий и записать его на языке программирования.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЛИНЕЙНЫЙ СПИСОК kalosha-stepa Паскаль, Turbo Pascal, PascalABC.NET 2 25.10.2012 21:57
Линейный список. GripEnemy Visual C++ 0 05.12.2011 22:35
C++,линейный список katerunechka Помощь студентам 0 08.10.2011 11:38
надо сделать дек через массив и через список. CHUCKe Помощь студентам 4 20.11.2010 17:23
(BC 3.1) Список через одномерный массив Lawliet32 Помощь студентам 6 29.11.2009 19:26