Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2014, 19:56   #1
RomaBayn
Пользователь
 
Регистрация: 24.10.2014
Сообщений: 10
По умолчанию Сформировать список из N целочисленных случайных элементов. Удалить из списка все элементы, содержащие делители числа N

Помогите решить Pascal
1)Сформировать список из N целочисленных случайных элементов (N – вводится
пользователем, значения элементов выбирать из диапазона от 0 до 99). Вставить
после каждого нечетного элемента, звено содержащее количество звеньев с
четными элементами, идущими перед ним.
2)Сформировать список из N целочисленных случайных элементов (N – вводится
пользователем, значения элементов выбирать из диапазона от 2 до N). Удалить из
списка все элементы, содержащие делители числа N.
RomaBayn вне форума Ответить с цитированием
Старый 24.10.2014, 20:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Пробовал как-нибудь сам?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.10.2014, 20:09   #3
RomaBayn
Пользователь
 
Регистрация: 24.10.2014
Сообщений: 10
По умолчанию

Да пробывал не выходит не как...
RomaBayn вне форума Ответить с цитированием
Старый 24.10.2014, 20:11   #4
RomaBayn
Пользователь
 
Регистрация: 24.10.2014
Сообщений: 10
По умолчанию

Поможете решить,а то не получается запарился этой задачей
RomaBayn вне форума Ответить с цитированием
Старый 24.10.2014, 20:51   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Показывай как пробовал, а то есть подозрения, что нужно готовенькое
eoln вне форума Ответить с цитированием
Старый 24.10.2014, 21:17   #6
RomaBayn
Пользователь
 
Регистрация: 24.10.2014
Сообщений: 10
По умолчанию

Код:
Program ex1;
uses crt;
type Ptr=^count;
count=Record
Key:integer;
Next:ptr;
end;
var p,q,first,l:ptr;
n,i,j,k:integer;
begin
randomize;
//создаем исходный список
repeat
write('Размер списка n>1 n=');
readln(n);
until n>1;
new(p);
first:=p;
p^.next:=nil;
p^.key:=0+random(99);
q:=p;
for i:=2 to n do
begin
new(p);
p^.key:=1+random(5);
p^.next:=nil;
q^.next:=p;
q:=p;
 end
Дальше как я правильно начал?

Последний раз редактировалось Stilet; 24.10.2014 в 21:35.
RomaBayn вне форума Ответить с цитированием
Старый 24.10.2014, 21:39   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
я правильно начал?
Правильно. Теперь сделай вывод списка:
Код:
p:=first; while p<>ni do begin
 выводим элемент;
 p:=p^.next;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.10.2014, 19:17   #8
RomaBayn
Пользователь
 
Регистрация: 24.10.2014
Сообщений: 10
По умолчанию

Вторую задачу сделайте!!!)))
RomaBayn вне форума Ответить с цитированием
Старый 25.10.2014, 19:30   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну что такое делители я не знаю, а вот удаление элемента может выглядеть так:
Код:

p:=first; l:=nil;
 while p<>nil do begin
 if p^.Key=чему--то then begin
  if l<>nil then l^.next=p^.next;
  dispose(p);
  p=l^.next;
 end else begin
  l:=p;
  p:=p^.next;
 end;
end;
Не проверял, но для односвязного списка должно сойти.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.10.2014, 19:30   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну что такое делители я не знаю, а вот удаление элемента может выглядеть так:
Код:

p:=first; l:=nil;
 while p<>nil do begin
 if p^.Key=чему--то then begin
  if l<>nil then l^.next=p^.next;
  dispose(p);
  p=l^.next;
 end else begin
  l:=p;
  p:=p^.next;
 end;
end;
Не проверял, но для односвязного списка должно сойти.
I'm learning to live...

Последний раз редактировалось Stilet; 25.10.2014 в 19:38.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сформировать список из N целочисленных случайных элементов newbieee Паскаль, Turbo Pascal, PascalABC.NET 2 28.10.2014 12:40
Сформировать новый односвязный список с элементов существующего списка Splitty Общие вопросы C/C++ 0 15.12.2013 14:43
Дан массив из n элементов. Удалить из массива все элементы, встречающиеся ровно два раза Koroleva_E Помощь студентам 0 02.05.2013 13:50
Сформировать список целых чисел и удалить из него все числа меньше 0 bwitcher Помощь студентам 0 23.03.2013 16:42