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

Удалить из списка все элементы с четными табельными номерами

03.02.2016, 07:52. Показов 1610. Ответов 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
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
program LinearList;
uses crt;
//Сам список
type PElement=^TypeElement;
     TypeElement=record
     Name:string[100];
     Id:integer;
     Next:PElement;
end;
var PHead,PCur,PPred,PNew:PElement;
    IdEnd:integer;
    st:string;
    Id:integer;
//добавление в список
procedure Insert(Element:string);
  begin
    New(PNew);
    PNew^.Name:=Element;
    IdEnd:=IdEnd+1;
    PNew^.Id:=IdEnd;   
    if PHead=nil then
      begin        
        PNew^.Next:=nil;
        PHead:=PNew;
      end
    else 
      begin
        PPred:=nil;
        PCur:=PHead;
        while (Element > PCur^.Name) and (PCur^.Next <> nil) do
          begin
            PPred:=PCur;
            PCur:=PCur^.Next;
          end;
        if (PCur^.Next=nil) and (Element > PCur^.Name) then
          begin
            PPred:=PCur;
            PNew^.Next:=nil;
          end
        else 
          PNew^.Next:=PCur;
        if PPred=nil then
          PHead:=PNew
        else 
          PPred^.Next:=PNew;      
      end;
    
  end;
//просмотр списка
procedure Print;
  begin
    PCur:=PHead;
    while PCur <> nil do
      begin
        writeln(PCur^.Id,' ', PCur^.Name);  
        PCur:=PCur^.Next;        
      end;
  end;
//удаление элемента(ов) из списка
procedure Delete;
  var NameDel:string;
  begin
    writeln('Введите фамилию: ');
    readln(NameDel);
    PPred:=nil;
    PCur:=PHead;
    while (PCur^.Next <> nil)and(PCur^.Name <> NameDel) do
      begin
        PPred:=PCur;
        PCur:=Pcur^.Next;
      end;
    if PPred = nil then
      begin
        PHead:=PCur^.Next;
        Dispose(PCur);
      end else
    if (PCur^.Next = nil)and(PCur^.Name = NameDel) then
      begin
        PPred^.Next:=nil;
        Dispose(PCur);
      end else
      begin
        PPred^.Next:=PCur^.Next;
        Dispose(PCur);
      end;     
  end;
 //Поиск
 procedure Find(st:string);
 var  x:integer;     
 begin
   x:=0;
   PCur:=PHead;
   repeat
    if (PCur^.Name=st) then x:=PCur^.Id;
    PCur:=PCur^.Next;
   until  PCur=nil;
  if x<>0 then writeln(x) else writeln('Элемент не существует!');
 end;
//инициализация меню и программы
procedure InitControls;  
  var IdMenu:integer;
      NameIC:string;
  begin
    //поля списка, заданные в лабораторной
    IdEnd:=IdEnd+5000;
    Insert('Аникин');
    Insert('Федоров');
    Insert('Литвинов');
    Insert('Никонов');
    Insert('Ветров');
    IdMenu:=1;
    while IdMenu <> 5 do
      begin
        writeln('Выберите нужное действие:');
        writeln('1) Просмотреть список');
        writeln('2) Добавить');
        writeln('3) Удалить');
        writeln('4) Поиск');
        writeln('5) Quit');
        readln(IdMenu);
        clrscr;
        case IdMenu of
          1:Print;
          2:begin
            writeln('Введите фамилию:');
            readln(NameIC);
            Insert(NameIC);
            end;
          3:Delete;
          4:begin
              writeln('Введите фамилию:');
              readln(st);
              find(st);            
            end;
 
        end;  
      end;    
  end;
begin
InitControls;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.02.2016, 07:52
Ответы с готовыми решениями:

Удалить из списка элементы с чётными номерами
Здрасвуйте уважаемые форумчане помогите реализовать следующее!удалить из списка элементы с чётными номерами! вот наработка! Спосибо заранее...

Напечатать все элементы списка с четными номерами
Есть список . Напечатать все парные (по номеру) элементы. например: список а выдать в ответ должен список . заранее спасибо.

Удалить из файла все элементы с четными номерами
Составление программы с текстовыми и типизированными файлами. 14.2 Написать программу, заносящую в файл 10 натуральных чисел, введенных с...

2
0 / 0 / 1
Регистрация: 03.02.2016
Сообщений: 4
04.02.2016, 18:12  [ТС]
эх( Никто непоможет?
0
0 / 0 / 1
Регистрация: 03.02.2016
Сообщений: 4
08.02.2016, 17:40  [ТС]
Сам себе помог!

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
//óäàëåíèå ÷åòíûõ ýëåìåíòîâ
procedure DeleteEven;
begin
  PCur:=PHead;
  PPred:=nil;
  
  while( PCur <> nil )do begin
    if ( PCur^.Id mod 2 = 0 ) then begin 
      if( PHead = PCur )then
        PHead:=PCur^.Next;
      
      if ( PPred <> nil ) then
        PPred^.Next:=PCur^.Next;
 
 
      PNext:=PCur^.Next;
      Dispose(PCur);
      PCur:=PNext;
    end
    else begin
      PPred:=PCur;
      PCur:=PCur^.Next;
     end
  end;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.02.2016, 17:40
Помогаю со студенческими работами здесь

В массиве удалить все элементы с четными номерами
Добрый день!Давно не работал в Паскале, совсем забыл конструкции! Подскажите как решить? Дана задача: в массиве удаляются все элементы с...

Удалить из массив все элементы с четными номерами
Array. Дан целочисленный массив размера N(&gt;2). Удалить из массив все элементы с четными номерами(2,4,...). Условный оператор не...

Удалить из файла все элементы, расположенные на позициях с четными номерами
Дан файл целых чисел. Удалить из него все элементы, расположенные на позициях с четными номерами.

Удалить из статического массива все элементы с четными номерами, используя функции
1)Преподаватель попросил не забывать, что элементы массива нумеруются с нуля. Поэтому в функции поиска и удаления некошерного элемента...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru