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

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

26.03.2019, 20:52. Показов 1346. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста с задачей.

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

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

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure anlos;
var i,j,k:integer; 
   begin
    q:=p; k:=0; i:=1; j:=0;
    while q^.next<>nil do 
      begin
        if [B]<заданное условие>[/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],' ');
   end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2019, 20:52
Ответы с готовыми решениями:

Подсчитать количество и вывести порядковые номера элементов массива, кратных 3
Помогите с заданием пожалуйста! Из последовательности чисел y1, y2, ,…, yn выбрать элементы, делящиеся на 3. Подсчитать их число и вывести...

В массиве Н(16) подсчитать количество отрицательных элементов и вывести их порядковые номера
помогите пожалуйств решить задачу В массиве Н(16) подсчитать количество отрицательных элементов и вывести их порядковые номера

Определить порядковые номера элементов массива, значения которых содержат последнюю цифру первого элемента
Задается массив. Определить порядковые номера элементов массива, значения которых содержат последнюю цифру первого элемента массива 2 раза...

3
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
26.03.2019, 22:02
Цитата Сообщение от Jorsh_1601 Посмотреть сообщение
элементов ЛОС
Цитата Сообщение от Jorsh_1601 Посмотреть сообщение
информационных полей
Это что? Киньте ссыль на какую то страницу с теорией. Я так понимаю это что то со связными списками. Но у вас они даже не объявлены.
0
0 / 0 / 0
Регистрация: 26.03.2019
Сообщений: 2
31.03.2019, 16:38  [ТС]
Спасибо за отзыв, но уже решил проблему. Да это связано с линейными односвязными списками.
Вот решение:

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
program loskestpyatennet; //наименование программы
 
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^.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.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
01.04.2019, 14:23
Во-первых, вы создаёте лишний элемент списка, который не используете!

Во-вторых, вы используете рекурсию везде, где этого делать не нужно!

В-третьих, почему не передаёте параметры в процедуры? С ними было бы гораздо проще.

В-четвёртых, если на приглашение n= ввести 0, то программа завершится ошибкой!

В-пятых, при сортировке вы меняете значения, а не элементы списка!

Ну и самое главное, вы пишите не на PascalABC.NET!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2019, 14:23
Помогаю со студенческими работами здесь

Определить порядковые номера элементов массива, значения которых содержат последнюю цифру первого элемента массива 2 раза
Задается массив. Определить порядковые номера элементов массива, значения которых содержат последнюю цифру первого элемента массива 2 раза...

Подсчитать количество элементов последовательности, значения которых больше значения предыдущего элемента
Дана последовательность из n действительных чисел.( Задачу нужно решить, используя одномерный массив) Подсчитать количество элементов,...

Подсчитать количество элементов массива, значения которых больше значения предыдущего элемента
Подсчитать кол-во элементов значения которых больше значения предыдущего элемента? Срочно нужно! Заранее большое спасибо)*

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru