Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 6

Динамическая память

19.09.2011, 20:48. Показов 1397. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Cоставить программу, которая вставляет в непустой список L новый элемент F перед первым вхождением элемента E, если E входит в L.
Буду благодарен, если решите хотя бы половину
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.09.2011, 20:48
Ответы с готовыми решениями:

Динамическая память
почему не выходит матрица Program Sr; uses crt; Const NMax=10; Type Diapazon=1..NMax; MasInt=Array Of Integer; Var...

Динамическая память.
Создать массив в динамической памяти A(n). Получить новый массив из четных,положительных элементов.

Динамическая память
Ввести массив А. В массив В перенести все элементы массива А, имеющие значение меньше чем (min+max)/3, где min - значение минимального...

6
24 / 24 / 30
Регистрация: 31.03.2011
Сообщений: 46
19.09.2011, 23:49
Pascal
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
uses
  crt;
 
type
  PElem = ^Elem;
  Elem = record
    data: integer;
    next: PElem
  end;
 
var
  head, tail, p, p1: PElem;
  item, search: integer;
 
begin
  head := nil;  tail := nil;
  writeln('Enter a integer number.');
  repeat
    new(p);//выделяем память под новую структуру
    readln(p^.data);
    p^.next := nil;
    if head = nil then head := p
    else
      tail^.next := p;
    tail := p;
    writeln('Continue writing? (N-no)')
  until (readkey = #110);//пока не будет нажата клавища 'Y'
  
  writeln('Enter item to search for');//ввод элемента для поиска
  readln(search);
  writeln('Enter the item for replacement');//ввод элемента для вставки
  readln(item);
  
  {Поиск элемента и вставка}
  p := head;
  while(p ^.next <> nil) do
  begin
    if(p ^.next^.data = search) and (p <> head) then//если след. элемент равен искомому и это не начало списка
    begin
      new(p1);
      p1^.data := item;
      p1^.next := p^.next;
      p^.next := p1;
      break
    end
      else
        if(p^.data = search)then//если элемент равен искомому и это начало списка
          begin
            new(p1);
            p1^.data := item;
            p1^.next := p;
            head := p1;
            break
          end;
    p := p^.next;
  end;
  
  {Вывод сиска}
  writeln;
  write('List=');    
  p := head;
  while(p <> nil) do
  begin
    write(p^.data, ' ');
    p := p^.next;
  end;  
  
  {Освобождение памяти занимаемой списком}
  p := head;
  while(head <> nil) do
  begin
    p := head;
    head := head^.next;
    dispose(p);
  end;
end.
1
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 6
25.09.2011, 18:14  [ТС]
Почему при компилирование данной программы, выдаются не те значения?
0
24 / 24 / 30
Регистрация: 31.03.2011
Сообщений: 46
25.09.2011, 18:40
Как понимать «не те», что именно не так?
0
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 6
25.09.2011, 18:50  [ТС]
я ввожу спсисок 123456, ставлю 2, затем 3, он мне вместо замены выдает значение -13506
0
24 / 24 / 30
Регистрация: 31.03.2011
Сообщений: 46
25.09.2011, 19:07
Цитата Сообщение от Хит Посмотреть сообщение
я ввожу спсисок 123456, ставлю 2, затем 3, он мне вместо замены выдает значение -13506
Странно, у меня работает. Попробуйте ввести, как на скриншоте.
Миниатюры
Динамическая память   Динамическая память  
1
24 / 24 / 30
Регистрация: 31.03.2011
Сообщений: 46
25.09.2011, 19:43
Нашел ошибку, из-за которой 2-й элемент списка невозможно было заменить
Исправленный код:
Pascal
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
uses
  crt;
 
type
  PElem = ^Elem;
  Elem = record
    data: integer;
    next: PElem
  end;
 
var
  head, tail, p, p1: PElem;
  item, search: integer;
 
begin
  head := nil;  tail := nil;
  writeln('Enter a integer number.');
  repeat
    new(p);//выделяем память под новую структуру
    readln(p^.data);
    p^.next := nil;
    if head = nil then head := p
    else
      tail^.next := p;
    tail := p;
    writeln('Continue writing? (N-no)')
  until (readkey = #110);//пока не будет нажата клавища 'N'
  
  writeln('Enter item to search for');//ввод элемента для поиска
  readln(search);
  writeln('Enter the item for replacement');//ввод элемента для вставки
  readln(item);
  
  {Поиск элемента и вставка}
  p := head;
  while(p ^.next <> nil) do
  begin
    if(p ^.next^.data = search) then//если след. элемент равен искомому
    begin
      new(p1);
      p1^.data := item;
      p1^.next := p^.next;
      p^.next := p1;
      break
    end
      else
      //если вдруг что,то условие замени на if(p^.data = search)and(p=head)then
        if(p^.data = search)then//если элемент равен искомому и это начало списка
          begin
            new(p1);
            p1^.data := item;
            p1^.next := p;
            head := p1;
            break
          end;
    p := p^.next;
  end;
  
  {Вывод сиска}
  writeln;
  write('List=');    
  p := head;
  while(p <> nil) do
  begin
    write(p^.data, ' ');
    p := p^.next;
  end;  
  
  {Освобождение памяти занимаемой списком}
  p := head;
  while(head <> nil) do
  begin
    p := head;
    head := head^.next;
    dispose(p);
  end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2011, 19:43
Помогаю со студенческими работами здесь

динамическая память
Уважаемые эксперты написал программу но со статическими переменными , а необходимо было написать с помощью динамических. помогите...

Динамическая память.
2 Задачи: Сформировать стек. Анализируя стек, сформировать списки: a) Букв латинского алфавита; b) Литер цифр; Сформировать очередь,...

динамическая память!!!!
Помагите решить задачу с помащью динамической памяти!!! Создайте и обработайте двумерный динамический массив. Задана матрица А. ...

Динамическая память
Добрейший всем вечерочек!) Товарищи, помогите пожалуйста с задачей: Решить задачу по обработке файлов данных с использованием...

Динамическая память
Помогите пожалуйста! Заполнить файл f целыми числами, полученными с помощью генератора случайных чисел. Из файла f получить файл g,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru