Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для dasha89
0 / 0 / 0
Регистрация: 28.10.2020
Сообщений: 6

Создать ЛДС из n элементов, информационные поля которых являют-ся случайными целыми числами из некоторого диапазона.

28.10.2020, 22:48. Показов 1491. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите девушке одолеть паскаль)
1. Записать процедуры удаления элементов из ЛДС, расположенных до и после заданного элемента.

2. Создать ЛДС из n элементов, информационные поля которых являют-ся случайными целыми числами из некоторого диапазона.

3. Подсчитать количество и порядковые номера элементов ЛДС, значения информационных полей которых:

меньше значения информационного поля предыдущего элемента;

4. Удалить из ЛДС элементы, информационные поля которых удовлетворяют заданному условию из п.3.

5. Упорядочить оставшиеся элементы ЛДС в заданном порядке.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2020, 22:48
Ответы с готовыми решениями:

Массивы Х(10) и Y(10) заполнить целыми случайными числами из диапазона от 0 до 50
Массивы Х(10) и Y(10) заполнить целыми случайными числами из диапазона от 0 до 50. Сформировать массив М таким образом, что М(I)=1, если...

Заполнить массивы целыми случайными числами из диапазона от 0 до 50
Массивы Х(10) и Y(10) заполнить целыми случайными числами из диапазона от 0 до 50. Сформировать массив М таким образом, что М(I)=1, если...

Заполнить массив случайными целыми числами диапазона
Имеется класс Arr, моделирующий работу с одномерным массив, у которого индексы могут принимать значения из любого диапазона. Добавьте в...

8
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
29.10.2020, 04:33
dasha89, и девушка не умеет читать Правила!

В которых говорится:

5.4 Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.

5.9 Запрещено отсылать пользователей из тематических разделов в разделы фриланса, а также рекламировать свои услуги или предлагать/просить/требовать оплату за помощь, кроме разделов для платных услуг.

5.16 Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.


5.5 Запрещено размещать тему в нескольких подразделах одного раздела одновременно (кросспостинг), а также дублировать тему в одном разделе.
0
 Аватар для dasha89
0 / 0 / 0
Регистрация: 28.10.2020
Сообщений: 6
29.10.2020, 13:32  [ТС]
Я Выполнила программу, но выдаёт ошибку. Что лучше сделать вставить ее прямо в эту тему или новую создать?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
29.10.2020, 13:34
Лучший ответ Сообщение было отмечено dasha89 как решение

Решение

Цитата Сообщение от dasha89 Посмотреть сообщение
вставить ее прямо в эту тему
Только код в текстовом режиме.
1
 Аватар для dasha89
0 / 0 / 0
Регистрация: 28.10.2020
Сообщений: 6
29.10.2020, 13:39  [ТС]
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
const l=100;
 
type s=^el;
 el=record
 inf:integer;
 next:s;
end;
 
var p,q:s;r: s; 
n:integer;
num: array [1..l] of integer;
 
procedure rsozdlosn (n:integer); {создание ЛОС}
 begin
  if n>0 then
  begin
   new(r);
   r^.inf:=random(7);
   r^.next:=nil;
   q^.next:=r;
   q:=r;
   rsozdlosn (n-1);
  end;
 end;
 
 
procedure rprlosn; {вывод ЛОС}
 begin
  if q<>nil then
   begin
   write(q^.inf,' ');
   q:=q^.next;
   rprlosn;
   end;
 end;
 
procedure udal (i:integer); {удаление после  i - го элемента}
var j:integer;
 begin
  q:=p;
  for j:=1 to i do q:=q^.next; 
  r:=q^.next;
  q^.next:=r^.next;
  dispose(r);
 end;
 
procedure LOST; {Подсчитать количество и порядковые номера элементов ЛОС, значе-ния информационных полей которых равны значению информационного поля предыдущего элемента}
var i,j,k:integer; 
 begin
 q:=p; k:=0; i:=1; j:=0;
 while q^.next<>nil do 
  begin
  if q^.inf=[B]q^.next^.inf[/B] then
   begin
   inc(k); inc(j); num[j]:=i;
   end;
  q:=q^.next; inc(i);
  end;
  writeln('всего ',k,' элементов');
  writeln('порядковые номера элементов');
 for i:=1 to j do write( num[i],' ');
 
 for k:=j downto 1 do udal(num[k]-1); 
end;
 
procedure upnulos; {сортировка лос}
var c:integer; 
 begin
  q:=p^.next; 
  while q^.next<>nil do begin
   r:=q;
   repeat
   r:=r^.next;
  if r^.inf<q<span class="sy2">^.inf then
    begin
    c:=r^.inf; r^.inf:=q^.inf; q^.inf:=c;
    end;
   until r^.next=nil;
  q:=q^.next;
  end;
 end;
 
 
 
begin
randomize;
write('n=');
readln(n);
new(p);
q:=p;
rsozdlosn(n);
 
q:=p^.next;
rprlosn;
 
writeln;
LOST;
writeln;
writeln('Удалим элементы, совпадающие с предыдущим');
writeln;
q:=p^.next;
rprlosn;
 
writeln;
upnulos;
writeln;
writeln('Упорядочим оставшиеся');
writeln;
q:=p^.next;
rprlosn;
 
end.
</q<span>
Миниатюры
Создать ЛДС из n элементов, информационные поля которых являют-ся случайными целыми числами из некоторого диапазона.  
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
29.10.2020, 15:31
dasha89, у тебя откуда-то взялись ошмётки от HTML тегов.
убрал их. получилось такое:
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
const
  l = 100;
 
type
  s = ^el;
  el = record
    inf: integer;
    next: s;
  end;
 
var
  p, q, r: s; 
  n: integer;
  num: array [1..l] of integer;
 
procedure rsozdlosn(n: integer);{создание ЛОС}
begin
  if n > 0 then
  begin
    new(r);
    r^.inf := random(7);
    r^.next := nil;
    q^.next := r;
    q := r;
    rsozdlosn(n - 1);
  end;
end;
 
 
procedure rprlosn;{вывод ЛОС}
begin
  if q <> nil then
  begin
    write(q^.inf, ' ');
    q := q^.next;
    rprlosn;
  end;
end;
 
procedure udal(i: integer);{удаление после  i - го элемента}
var
  j: integer;
begin
  q := p;
  for j := 1 to i do q := q^.next; 
  r := q^.next;
  q^.next := r^.next;
  dispose(r);
end;
 
procedure LOST;{Подсчитать количество и порядковые номера элементов ЛОС, значе-ния информационных полей которых равны значению информационного поля предыдущего элемента}
var
  i, j, k: integer;
begin
  q := p; k := 0; i := 1; j := 0;
  while q^.next <> nil do 
  begin
    if q^.inf = q^.next^.inf then
    begin
      inc(k); inc(j); num[j] := i;
    end;
    q := q^.next; inc(i);
  end;
  writeln('всего ', k, ' элементов');
  writeln('порядковые номера элементов');
  for i := 1 to j do write(num[i], ' ');
  
  for k := j downto 1 do udal(num[k] - 1); 
end;
 
procedure upnulos;{сортировка лос}
var
  c: integer;
begin
  q := p^.next; 
  while q^.next <> nil do
  begin
    r := q;
    repeat
      r := r^.next;
      if r^.inf < q^.inf then
      begin
        c := r^.inf; r^.inf := q^.inf; q^.inf := c;
      end;
    until r^.next = nil;
    q := q^.next;
  end;
end;
 
 
 
begin
  randomize;
  write('n=');
  readln(n);
  new(p);
  q := p;
  rsozdlosn(n);
  
  q := p^.next;
  rprlosn;
  
  writeln;
  LOST;
  writeln;
  writeln('Удалим элементы, совпадающие с предыдущим');
  writeln;
  q := p^.next;
  rprlosn;
  
  writeln;
  upnulos;
  writeln;
  writeln('Упорядочим оставшиеся');
  writeln;
  q := p^.next;
  rprlosn;
  
end.
1
 Аватар для dasha89
0 / 0 / 0
Регистрация: 28.10.2020
Сообщений: 6
29.10.2020, 15:55  [ТС]
А подскажите пожалуйста, как исправить эту программу под условие не "равно значению " а меньше значения информационного поля предыдущего элемента

Добавлено через 1 минуту
А подскажите пожалуйста, как исправить эту программу под условие не "равно значению " а меньше значения информационного поля предыдущего элемента
И ошибка в задании не лдс, а лос. Буду очень благодарна за помощь
0
 Аватар для dasha89
0 / 0 / 0
Регистрация: 28.10.2020
Сообщений: 6
29.10.2020, 16:02  [ТС]
mr-Crocodile,
А подскажите пожалуйста, как исправить эту программу под условие не "равно значению " а меньше значения информационного поля предыдущего элемента
И ошибка в задании не лдс, а лос. Буду очень благодарна за помощь
Миниатюры
Создать ЛДС из n элементов, информационные поля которых являют-ся случайными целыми числами из некоторого диапазона.  
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
29.10.2020, 17:22
Цитата Сообщение от dasha89 Посмотреть сообщение
И ошибка в задании не лдс, а лос.
я ничего в коде не менял. Поэтому не знаю, решает он вашу задачу или не решает.
может быть, расскажете, что такое ЛДС и что такое ЛОС и чем они отличаются?

Цитата Сообщение от dasha89 Посмотреть сообщение
под условие не "равно значению " а меньше значения информационного поля предыдущего элемента
Pascal
1
  writeln('Удалим элементы у которых информационное поле меньше значения информационного поля предыдущего элемента');

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{Подсчитать количество и порядковые номера элементов ЛОС, 
значения информационных полей которых меньше значения информационного поля предыдущего элемента}
procedure LOST;
var
  i, j, k: integer;
begin
  q := p; k := 0; i := 1; j := 0;
  while q^.next <> nil do 
  begin
    if q^.inf > q^.next^.inf then
    begin
      inc(k); inc(j); num[j] := i;
    end;
    q := q^.next; inc(i);
  end;
  writeln('всего ', k, ' элементов');
  writeln('порядковые номера элементов');
  for i := 1 to j do write(num[i], ' ');
  
  for k := j downto 1 do udal(num[k] - 1);
не проверял
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2020, 17:22
Помогаю со студенческими работами здесь

Массив А(20) заполнить целыми случайными числами из диапазона от 1 до 100
Массив А(20) заполнить целыми случайными числами из диапазона от 1 до 100. Определить количество элементов N, удовлетворяющих условию...

Задан массив A(N,N), заполненный целыми случайными числами из диапазона [-24;28]
Задан массив A(N,N), заполненный целыми случайными числами из диапазона . Найти минимальный элемент, лежащий выше побочной диагонали и...

Заполнить 15 ячеек в столбце С целыми случайными числами из диапазона
Заполнить 15 ячеек в столбце С целыми случайными числами из диапазона . Выбрать и записать в столбец D те числа из столбца С, которые...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 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
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru