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

Поменять местами первый и последний элемент в списке

28.03.2014, 21:03. Показов 605. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять, как создать процедуру для этого. Поможете пожалуйста с программой?
Здесь часть программы с процедурами создания пустого списка и заполнения элементами.

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
program spisok
uses CRT;
 
const
       MaxSize = 14;
 
Type
          Count = 0..MaxSize;
       DataType = Integer;
        KeyType = Byte;
 
       StdElement = record
             Data : DataType;
              Key : KeyType;
                    end;
 
      NodePointer = ^Node;
 
             Node = record
               El : StdElement;
             Next : NodePointer;
                    end;
 
             List = ^ListInstance;
     ListInstance = record
             Head : NodePointer;
             Tail : NodePointer;
          Current : NodePointer;
         ICurrent : Count;
                N : Count;
                    end;
Var
       L : List;
       Elem, Ee : StdElement;
       sk,f,created:boolean;
       a,b,h:integer;
       tkey:Keytype;
 
Label MENU, ENDING;
 
procedure Create(var L:List;var created:boolean);
begin
 new(L);
 with L^ do
 begin
    head:=nil;
    tail:=nil;
    current:=nil;
    icurrent:=0;
    n:=0;
 end;
 created:=true
end;
 
procedure InsertAfter(var L:List;e:StdElement);
var p:NodePointer;
begin
 if Not Full(L) then with L^ do
 begin
    new(p);
    p^.el:=e;
    if Empty(L) then
    begin
        head:=p;
        tail:=p;
        p^.next:=nil;
    end
    else
    begin
        p^.next:=current^.next;
        if Last(L) then tail:=p;
        current^.next:=p;
    end;
    current:=p;
    icurrent:=icurrent+1;
    n:=n+1;
 end
end;
 
procedure Spisok(L:List);
var i,k,m:integer;
var check:boolean;
var E:StdElement;
var ms:array [1..13] of integer;
begin
 Randomize;
 m:=13;
 if Empty(L) then
 begin
    Elem.Data:=random(101);Elem.Key:=random(101)+1;InsertAfter(L,Elem); m:=m-1;
 end;
 for k:=1 to m do
 begin
    Elem.Data:=random(101);
    repeat
        Elem.Key:=random(101)+1;
        check:=false;
        For i:=1 to Size(L) do
        Begin
            FindIth(L,i); Retrive(L,E);
            if Elem.Key=E.key  then check:=true;
        End
    until check=false;
    InsertAfter(L,Elem);
 end;
end;
Добавлено через 9 часов 0 минут
Что в этой процедуре неправильно?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure SearchAndChange(var head:List);
var
min,max,tmp,tmp1:head;
k:integer;
begin
  min:=head;
  max:=tail;
  tmp1:=p;
    while tmp1^.next <> nil do
      begin
        tmp:=p^.next;
          if tmp^.current > max^.current then
             max:=tmp;
          if tmp^.current < min^.current then
             min:=tmp;
        tmp1:=tmp1^.next;
      end;
  k:=min^.current;
  min^.current:=max^.current;
  max^.current:=k;
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.03.2014, 21:03
Ответы с готовыми решениями:

Поменять местами первый и последний элемент стека
поменять первый элемент стека с последним

Поменять местами первый и последний отрицательный элемент массива
Дан массив В, состоящий из n элементов. Элементы массива ввести с клавиатуры. Поменять местами первый и последний отрицательный элемент...

Поменять местами первый и последний элемент двунаправленного списка
Помогите пожалуйста с задачей. Необходимо реализовать процедуру, которая меняет местами первый и последний элемент в двунаправленном...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.03.2014, 21:03
Помогаю со студенческими работами здесь

Поменять местами первый и последний элемент массива, если выполняется условие
Всем доброго вечера! Столкнулся с проблемой при решении данного задания (Задание: Если в массиве есть значения элементов, кратные своим...

дан одномерный массив А. Поменять местами последний положите и второй элемент массива. Разделить все элементы с четными номерами на первый элемент.
дан одномерный массив А. Поменять местами последний положите и второй элемент массива. Разделить все элементы с четными номерами на первый...

В заданном массиве поменять местами первый и последний элемент
4. В заданном массиве поменять местами первый и последний элемент. Выведите новообразованный массив

В массиве поменять местами первый элемент, больший 10 и последний отрицательный
Дан одномерный массив, нужно поменять местами первый элемент, больший 10 и последний отрицательный, используя процедуры или функции ...

Поменять местами первый и последний узел в односвязном циклическом списке с указателем на хвост
Здравствуйте! Нужно написать процедуру, которая меняет местами первый и последний узел в односвязном циклическом списке с указателем...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
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 и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru