Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 17.10.2014
Сообщений: 9

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

14.11.2014, 10:52. Показов 950. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сформировать список из N целочисленных случайных элементов (N - вводится пользователем, значения элементов выбирать из диапозона от 1 до 100). Удалить из списка четные числа, только в том случае, если перед и после четного числа стоят элементы с нечетными значениями.



Типа такого
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
uses crt;
type Ptr=^count;
     count=Record
           Key:integer;
           Next : ptr;
          end;
var p,q,first : ptr;
    n,i,a,b,c,k:integer;
begin
writeln(' ');
//создаем исходный список
repeat
write('Размер списка n>1 n=');
readln(n);
until n>1;
writeln('Введите первый элемент от 0 до 99');
new(p);
first:=p;
p^.next:=nil;
repeat
 readln(c);
until c in [0..99];
p^.key:=c;
q:=p;
writeln('Введите остальные числа от 0 до 99');
for i:=2 to n do
 begin
  new(p);
  repeat
  readln(c);
  until c in [0..99];
  p^.key:=c;
  p^.next:=nil;
  q^.next:=p;
  q:=p;
 end;
//выводим его на экран
writeln('Исходный список');
p:=first;
while (p<>nil) do
 begin
  write(p^.key,' ');
  p:=p^.next;
 end;
writeln;
//вводим диапазон чисел
writeln('Введите диапазон чисел a<b');
repeat
readln(a,b);
until a<b;
//удаляем элементы
p:=first;
i:=0;
while p<>nil do
 begin
  k:=p^.key; //смотрим значение
  if(k>=a)and(k<=b) then //если число в диапазоне
   begin
    i:=1;
    if p=first then  //если элемент первый
     begin
      first:=first^.next;
      dispose(p);
      p:=first;
     end
    else //если не первый
     begin
      q^.next:=p^.next;
      dispose(p);
      p:=q^.next;
     end
    end
   else //если не в диапазоне
    begin
     q:=p;
     p:=p^.next
    end
 end;
//выводим полученный список
if first=nil then write('Все элементы удалены')
else if i=0 then write('Нет элементов для удаления')
else
 begin
  writeln('Удаление элементов диапазона [',a,',',b,']');
  p:=first;
  while (p<>nil) do
   begin
    write(p^.key,' ');
    p:=p^.next;
   end;
 end;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2014, 10:52
Ответы с готовыми решениями:

Сформировать список из N целочисленных случайных элементов
Сформировать список из N целочисленных случайных элементов (N – вводится пользователем, значения элементов выбирать из диапазона от 1 до...

Сформировать список из N целочисленных случайных элементов
Сформировать список из N Целочисленных случайных элементов (N - вводится пользователем, значения элементов выбирать из диапазона от О до...

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

1
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.11.2014, 16:19
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
//это удобнее делать с двунаправленными списками
uses crt;
type Ptr=^count;
     count=Record
           Key:integer;
           Pred:ptr;
           Next:ptr;
          end;
var p:ptr;//текущий указатель
    q:ptr;//вспоиогательный указатель
    first:ptr;//указатель на первый элемент
    last : ptr; //указатель на последнмй элемент
    n,i:integer; //кол.элементов и счетчик
begin
//создаем исходный список
repeat
write('Размер списка n>1 n=');
readln(n);
until n>1;
first:=nil;
last:=nil;
for i:=1 to n do
 begin
  new(p);
  p^.key:=1+random(100);
  p^.next:=nil;//впереди пусто
  p^.pred:=last;//позади бывший последний элемент
  if first=nil then first:=p //если первый пуст,то он р
  else last^.next:=p;//иначе указатель на следующий за последним р
  last:=p;//р последний указатель
 end;
//выводим его на экран
p:=first;//встаем в голову списка
writeln('Исходный список');
while p<>nil do //пока не пусто
 begin
  write(p^.key:4);//выводим значения
  p:=p^.next; //переходим к следующему
 end;
writeln;
//удаляем элементы по условию
p:=first^.next;//встаем на второй элемент, у первого нет соседа слева
while p<>last do//идем до предпоследнего, у последнего нет соседа справа
 begin
  //если четный, а соседи нечетные, удаляем
  if (p^.key mod 2=0)and(p^.pred^.key mod 2<>0)and(p^.next^.key mod 2<>0)then
   begin
    q:=p^.next;//запомним элемент
    p^.pred^.next:=p^.next;//сдвинем указатель влево
    p^.next^.pred:=p^.pred;
    dispose(p);//освободим память для р
    p:=q;//ег новое значение
   end
  else p:=p^.next;//иначе вперед
 end;
//выводим результат
p:=first;
writeln('Удаление элементов по условию');
while p<>nil do
 begin
  write(p^.key:4);
  p:=p^.next;
 end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2014, 16:19
Помогаю со студенческими работами здесь

Сформировать список из случайных чисел, вывести список по 7 элементов в строке
Задачи на PYTHON 1)сформировать список из случайных чисел. вывести список по 7 элементов в строке , затем вывести эти же значения по...

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

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

Сформировать два новых целочисленных массива B и C из элементов исходного
Помгите пожалуйста господа форумчане! Ничего не соображаю в сериях. Дан целочисленный массив A размера N. Назовем серией группу...

Сформировать дек целочисленных элементов и преобразовать его заданным образом
Написать программу: Сформировать дек целочисленных элементов и преобразовать его таким образом, чтобы первый элемент стал последним,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru