IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите исправить программу!, Turbo Pascal 7.0
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

Репутация: -  0  +


Написал программу по созданию множества из случайных чисел по заданному числу членов и выделению из него двух множеств делящихся на 3 и на 2.
в PascalABC программа работает, а в Turbo Pascal 7.0 выдает на 1 члена меньше и почемуто одни и те же числа.
Помогите найти ошибку. Заранее благодарен.
Код

program Lab8_2;
const m=200;
var h,h1,h2:set of 1..m; i,p,n,k,r:integer; x:1..200;
procedure wri (h:set of 1..m);
var x:1..200;
begin
  for x:=1 to 200 do
   if x in h then
   writeln(x);
  end;
begin
writeln('Введите количество членов!');
readln(n);
while i<n do
  begin
   p:=Random(200);
   h:=h+[p];
   i:=i+1;
  end;
writeln('Сформированное множество:');
wri(h);
k:=2;
while k<=200 do
  begin
   if k in h then
    h1:=h1+[k];
    k:=k+2;
  end;
writeln('в том числе кратные 2:');
wri(h1);
r:=3;
while r<=200 do
  begin
   if r in h then
    h2:=h2+[r];
    r:=r+3;
  end;
writeln('в том числе кратные 3:');
wri(h2);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






SergSIS, ну что, тебе тоже скриншот привести? Сколько запрашиваешь - столько и генерируется. А ты не учел, кстати, что если будут 3 единицы, например - то ты получишь на 2 меньше, чем запрашивал. Это ж СЛУЧАЙНЫЕ числа !!! А в множестве одно число хранится в одном экземпляре...

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

Цитата
Почему в PascalABC работает, а в Turbo Pascal7.0 нет? Одна под Видос другая под Дос.
Всего-то разницы smile.gif А то, что синтаксис другой - тебе наплевать, правда? А вот TP - НЕТ.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 22:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name