С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
5 / 5 / 12
Регистрация: 12.09.2013
Сообщений: 156
1

Написать рекурсивную процедуру для однонаправленного списка: сколько раз входит данный элемент в однонаправленных список

28.04.2014, 12:29. Показов 1384. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, помогите написать процедуру (рекурсивную) для однонаправленного списка, сколько раз входит данный элемент в однонаправленных список L . Процедура должна вызвать сама себя.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.04.2014, 12:29
Ответы с готовыми решениями:

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

Написать рекурсивную процедуру или функцию, которая определяет, входит ли элемент в дерево T
По таблице написать рекурсивную процедуру или функцию, которая определяет, входит ли элемент в...

Определить, сколько раз в список входит элемент со значением последнего элемента
Создать однонаправленный линейный список. Тип элементов списка – float. Вывести список. Определить...

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

1
228 / 225 / 220
Регистрация: 03.07.2012
Сообщений: 466
30.04.2014, 07:03 2
Лучший ответ Сообщение было отмечено Misha_Beginner как решение

Решение

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
uses
  crt;
type
  TData  = real;
  TPNode = ^TNode;
  TNode  = record
  Data : TData;
  Next : TPNode;
  end;
  TList = record
  First, Last : TPNode;
  end;
//  добавляет элемент в конец списка
procedure AddList(var aList : TList; n : TData);
var aL : TList;
begin
  If aList.Last = nil then begin
    New(aList.Last);
    aList.Last^.Data := n;
    aList.First := aList.Last;
  end else begin
    aL.First := nil;
    aL.Last := nil;
    AddList(aL,n);
    aList.Last^.Next := aL.First;
    aList.Last := aL.Last;
  end;
  aList.Last^.Next := nil;
end;
//  выводит список
procedure Print(aList : Tlist);
begin
  if aList.First = nil then writeln('.')
  else begin 
    write(aList.First^.Data:7:2);
    aList.First := aList.First^.Next;  
    Print(aList);
  end;
end; 
procedure NumbElem(aList : TList; aPElem : TData; var aNumb : word);
var PTmp : TPNode;
begin
  if aList.First = nil then aNumb := 0
  else begin
    PTmp := aList.First;
    aList.First := aList.First^.Next;
    NumbElem(aList,aPElem,aNumb);
    if aPElem = PTmp^.Data then inc(aNumb);
  end;
end; 
//освобождает память
procedure FreeMemor(var aList : Tlist);
var PElem : TPNode;
begin
  if aList.First = nil then aList.Last := nil
  else begin
    PElem := aList.First;
    aList.First := aList.First^.Next;
    Dispose(PElem);
    FreeMemor(aList);
  end;
end;
var
  L   : TList;
  i, n : word;
  a    : TData;
begin
  clrscr;
  write('List size : '); readln(n); 
  L.First := nil;
  L.Last  := nil;
  for i := 1 to n do begin
    write(i,'-oe number : '); readln(a);
    AddList(L,a);
  end; 
  writeln(#10,#13,'List L :');
  Print(L); 
  write('Enter element : '); readln(a);
  NumbElem(L,a,i);
  writeln('Number of elements ',a:0:2,' in the List L : ',i);
  FreeMemor(L);
  readln;
end.
1
30.04.2014, 07:03
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.04.2014, 07:03
Помогаю со студенческими работами здесь

Написать предикат, который показывает, сколько раз данный элемент появлялся в списке
Помогите пожалуйста,нужен предикат для обычного пролога,не турбо count_member(list,int,int,int) -...

Напишите предикат p(+S,+L,–N), который вычисляет, сколько раз список S входит в список L
Приветствую. Прошу помощи у знающих людей. У меня есть задача: Напишите предикат p(+S,+L,–N),...

Сколько раз входит минимальный элемент
Я чё то жёстко туплю сегодня.помогите с задачкой 1)а один проход по массиву из N целых чисел (N...

Написать программу, возвращающую список вида: первый элемент — атом исходного списка, появляющийся в списке один раз (с
Есть список атомов. Написать программу, возвращающую список вида: первый элемент — атом исходного...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru