Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 17.05.2013
Сообщений: 50

решение задачи на Pascal, Структуры и алгоритмы обработки данных

12.11.2013, 15:55. Показов 726. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здараствуйте уважаемые форумчане... мне понадобилась ваша помощь и надеюсь я её получу мне нужно сделать индивидуальное задание по предмету: Структуры и алгоритмы обработки данных. Задача стоит такая что у нас есть определённый список фамилий по порядку, нам нужно составить программу которая при добавлении в список еще одной фамилии(одинаковой), при нажатии цифры(команды) программа выводила одинаковые фимилии. У меня есть программа которая находит эти две фамилии но как сделать чтоб она их потом после нажатия на команду (например цифра 9) прога их удаляла.(как я понимаю добаить процедуру удаления этих фамилий)
Суть проги:
1.просмотр списка
2.добавление фамилии в список(еще одной такой же которая есть в списке)
3.поиск похожих фамилий
4.удаление этих фамилий
5.выход надеюсь я выразился пправильно...
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
uses crt;
  label 1;
  type
   PElement = ^TypeElement;
   TypeElement = record
           fam:string;
           tn:integer;
           next:PElement;
     end;
  var
   PtrHead,PtrCur,PtrPred,PtrNew:PElement;
   f:array[1..5] of string;
   n:array[1..5] of integer;
   i,num, x,s,z:integer;
   st:string;
////////////////////////////
 
procedure add;  {процедура добавления элементов в пустой список}
  begin
  new(ptrcur);
  ptrcur^.tn:=n[i];
  ptrcur^.fam:=f[i];
  if i= 1 then ptrhead:=PtrCur
          else  PtrPred^.Next:=PtrCur;
  if i=5 then Ptrcur^.next:=nil;
  PtrPred:=PtrCur;
    end;
 
//////////////////// {процедура вывода списка на экран}
 
 procedure print;
 begin    ptrcur:=ptrhead;
  repeat
   begin
    writeln(PtrCur^.tn,' ',PtrCur^.fam);
    PtrCur:=PtrCur^.next;
   end;
  until PtrCur=nil;
 end;
/////////////   {процедура поиска элемента списка по фамилий}
 procedure find(st:string);
  var x:byte;
  begin   PtrCur:=PtrHead; x:=0;
   repeat
 
   if PtrCur^.fam = st then   writeln('Фамилия ',st,' находится в списке под номером ',PtrCur^.tn)
    else
      x:=x+1; ptrcur:=PtrCur^.Next;
   until PtrCur=nil;       if x=5 then      writeln('Такого элемента в списке нет');
  end;
 ////////////////////////////////////////////
 
  procedure insert(st:string); {процедура вставки элемента}
   begin ptrcur:=ptrhead;
    if PtrCur^.Fam>st then
      begin
        new(PtrNew);
        PtrNew^.fam:=st;
        PtrNew^.tn:=s+1;
        PtrHead:=Ptrnew;
        PtrNew^.Next:=PtrCur; exit  end
   else
   begin
   PtrPred:=Ptrcur;
   PtrCur:=PtrCur^.next;
    repeat
     if   (st<PtrCur^.fam) then
       begin
        new(PtrNew);
        PtrNew^.fam:=st;
        PtrNew^.tn:=s+1;
        PtrPred^.Next:=PtrNew;
        PtrNew^.Next:=Ptrcur; exit
        end
      else
       PtrPred:=Ptrcur;
       PtrCur:=PtrCur^.Next;
     until PtrCur^.next=nil;
     new(Ptrnew);
          PtrNew^.fam:=st;
          PtrNew^.tn:=s+1;
          PtrCur^.Next:=PtrNew;
          PtrNew^.next:=nil;
    end;
    
   end;
   
   
 /////////////////// {процедура удаления элемента списка}
 
 procedure del(st:string);
  begin
  PtrCur:=PtrHead;
   repeat
    if PtrCur^.fam = st then
      if PtrCur=PtrHead then
        begin
        PtrHead:=PtrCur^.Next;
        Dispose(PtrCur);
        end
       else
        if PtrCur^.next = nil then
          begin
           PtrPred^.Next:=nil;
           Dispose(PtrCur);
          end
       else
         begin
         PtrPred^.Next:=PtrCur^.Next;
         dispose(ptrcur);
         end
    else  begin PtrPred:=PtrCur; PtrCur:=PtrCur^.Next; end;
   until PtrCur=nil;
  end;
 
  ///////////////////////// процедура поиска одинаковых фамилий
 
  procedure od;
   begin
    PtrCur:=PtrHead;
    PtrPred:=PtrCur;
    PtrCur:=PtrCur^.Next;
      repeat
       if PtrPred^.Fam=PtrCur^.Fam then begin writeln('есть две одинаковые фамилий ', PtrCur^.fam);PtrPred:=PtrCur; PtrCur:=PtrCur^.next; end
       else begin PtrPred:=PtrCur; PtrCur:=PtrCur^.next; end;
 
      until PtrCur^.Next=nil
   end;
  begin
   f[1]:='Akimov';
   f[3]:='Rezin';
   f[4]:='Romanov';
   f[5]:='Vetrov';
   f[2]:='Putilov';
   n[1]:=5001;
   n[2]:=5002;
   n[3]:=5003;
   n[4]:=5004;
   n[5]:=5005;
     s:=n[5];
   for i:= 1 to 5 do
   add;
 writeln('Введите номер действия');
 writeln('1 Просмотр списка');
 writeln('2 Поиск');
 writeln('3 Добавление ');
 writeln('4 Удаление');
 Writeln('5 Просмотр списка на одинаковые фамилий');
  writeln('6 Выход');
  Z:=0;
  while  z=0 do
  begin writeln('Введите номер действия');
   readln(x);
   case x of
     1:begin x:=0; print;end;
     2:begin x:=0;writeln('Ведите фамилию'); Readln(st); find(st); end;
     3:begin x:=0;writeln('Ведите фамилию'); Readln(st);  insert(st);end;
     4:begin x:=0;writeln('Ведите фамилию'); Readln(st); del(st);  end;
     5:begin x:=0;od;end;
     6:begin z:=1;end;
  end;end;
  end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.11.2013, 15:55
Ответы с готовыми решениями:

Структуры и алгоритмы обработки данных
Здравствуйте. Помогите, нужно сделать контрольную, буду ждать сообщении по этой теме. Заранее СПАСИБО!

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

Структуры и алгоритмы обработки данных. Создать базу данных пользователей Интернет
Создать базу данных пользователей Интернет (имя пользователя, текущий счет, привилегированность пользователя, состояние подключения)...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2013, 15:55
Помогаю со студенческими работами здесь

Структуры и алгоритмы обработки данных Тест SoS
Тест состоит из 48 вопросов , ответить нужно завтра до 3 ,помогите пожалуйста, нашла не все пока ответы ( Вопрос 1 Какие утверждения...

Структуры и алгоритмы компьютерной обработки данных (очередь)
Нужно сделать программу: Создать очередь клиентов и распределить клиентов по двум вспомогательным очередям (через одного). Я...

Тест по Структуры и алгоритмы обработки данных очень прошу проверьте пожалуйста мои ответы
Я ответы проставила ,проверьте пожалуйста Какие условия необходимы для применения простейшей карманной сортировки +все ключи -...

РЕШЕНИЕ ЗАДАЧИ ПЕРВИЧНОЙ СТАТИСТИЧЕСКОЙ ОБРАБОТКИ ДАННЫХ В СРЕДЕ EXCEL
помогите сделать задания по exel

задачи на тему алгоритмы циклической структуры


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru