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

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

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

 
 Ответить  Открыть новую тему 
> Структурированный тип множество
Korsar
сообщение 1.12.2006 23:13
Сообщение #1


Новичок
*

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

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


Народ помогите пожалуйста решить задачу!!!!!
Используя структурированный тип множество выполнить следующие действия с исходными данными. Если мощность множества (количество элементов без учета повторений) не задана, принять ее равной 10. Значения элементов исходных множеств ввести с клавиатуры. На экран вывести исходные и полученные множества.
Дано множество X1, содержащее целые числа из диапазона [1..100]. Сформировать новое множество Y1 путем выделения из множества X1 нечетных чисел, множество Y2 путем выделения из множества X1, чисел, кратных 15. На экран вывести исходное и полученные множества, а также мощность множества Y2.

Или подскажите где есть подобная. Заранее благодарен.


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 1.12.2006 23:22
Сообщение #2


Гость






Здесь есть нечто ОЧЕНЬ похожее:
Даны три множества X1, X2, X3, содержащие целые числа из диапазона [1..100].
 К началу страницы 
+ Ответить 
Korsar
сообщение 2.12.2006 0:20
Сообщение #3


Новичок
*

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

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


А именно эту задачу решить помогите пожалуйста!!!


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 2.12.2006 7:32
Сообщение #4


Гуру
*****

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

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


Цитата(Korsar @ 2.12.2006 1:20) *

А именно эту задачу решить помогите пожалуйста!!!

Ты ответ Volvo по ссылке смотрел?
Там же только по одной строчке кода изменить нужно. Кратность 6 на кратность 15, и на нечетность.

Сообщение отредактировано: Ozzя - 2.12.2006 7:34
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Korsar
сообщение 2.12.2006 11:54
Сообщение #5


Новичок
*

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

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


Что означает функция include???


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 2.12.2006 12:23
Сообщение #6


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


включить в множество


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Korsar
сообщение 8.12.2006 2:16
Сообщение #7


Новичок
*

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

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


Люди добрые, скажите пожалуйста что в этой программе не правильно? Задание сверху.
program laba;
uses crt;
const n=10;
var i,s: integer;
procedure vvod;
var i,s: integer;
begin
for s:=1 to n do
writeln('введите элемент множества');
readln(n);
end;
procedure vivodr;
var i,s: integer;
begin
for s:=1 to n do
if (i mod 2=1) then
writeln('множество нечетных чисел:',i);
end;
procedure vivodr15;
var i,s: integer;
begin
for s:=1 to n do
if (i mod 15=0) then
writeln('множество чисел кратных 15:',i);
end;
begin
vivod;
vivodr;
vivodr15;
readln;
end.


Сообщение отредактировано: volvo - 8.12.2006 2:48


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.12.2006 2:51
Сообщение #8


Гость






Цитата
что в этой программе не правильно?
blink.gif Где у тебя множества-то? Целые числа вижу, слово Set вообще не присутствует ни разу...
 К началу страницы 
+ Ответить 
Korsar
сообщение 8.12.2006 13:34
Сообщение #9


Новичок
*

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

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


Вот щас set использовал. Мне надо чтобы я сам с клавиатуры значения вводил, а прога десять раз 'введите элемент множества' напишет и все!!! Почему так и вообще я правильно делаю или нет?

program laba;
uses crt;
const n=10;
procedure vvod;
var i: set of byte
s: integer;
begin
for s:=1 to n do
writeln('введите элемент множества');
readln(a);
end;
procedure vivodr;
var i: set of byte
s: integer;
begin
for s:=1 to n do
if (a in i) and (a mod 2=1) then
writeln('множество нечетных чисел:',i);
end;
procedure vivodr15;
var i: set of byte
s: integer;
begin
for s:=1 to n do
if (a in i) and (a mod 15=0) then
writeln('множество чисел кратных 15:',a);
end;
begin
vivod;
i:=[a];
vivodr;
vivodr15;
readln;
end.


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Pola
сообщение 8.12.2006 13:38
Сообщение #10


Новичок
*

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

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


1 ты его вводишь( к сожалению не в цикле), но не добавляешь во множество

2 i опиши как глобальную или передавай как параметр.

Сообщение отредактировано: Pola - 8.12.2006 13:40
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Korsar
сообщение 8.12.2006 13:56
Сообщение #11


Новичок
*

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

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


Цитата

1 ты его вводишь( к сожалению не в цикле), но не добавляешь во множество

2 i опиши как глобальную или передавай как параметр.

1 А разве i:=[a]; не добавление в множество? Если нет то как добавить?
2 Как описать в том или другом случае? Чем byte не подходит?


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Pola
сообщение 8.12.2006 14:16
Сообщение #12


Новичок
*

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

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


Цитата
1 А разве i:=[a]; не добавление в множество? Если нет то как добавить?
i:=i+[a]; или Include(i,a); и после ввода a

Цитата
2 Как описать в том или другом случае?


program laba;
uses crt;
const n=10;

var i: set of byte; {<--------- если глобальная i}

procedure vvod;
var a,s: byte; {<------- локальные a,s}
begin
i:=[]; {начальное значение}
for s:=1 to n do
begin {чтоб все три действия в цикле были, а не одно первое !}
write('введите элемент множества ');
readln(a); {вводим}
i:=i+[a];{ добавляем}
end;
end;

begin
vvod; {вызов}
...

end.


program laba;
uses crt;
const n=10;

type
sob=set of byte; {<-----тип новый описываем}


procedure vvod(var i: sob); {<--------- если параметр процедуры};

var a,s: byte; {<------- локальные a,s}
begin
i:=[]; {начальное значение}
for s:=1 to n do
begin {чтоб все три действия в цикле были, а не одно первое !}
write('введите элемент множества ');
readln(a); {вводим}
i:=i+[a];{ добавляем}
end;
end;

var i: sob; {<------ переменные для программы}
begin
vvod(i); {<-- вызов с параметром}
...

end.


Сообщение отредактировано: Pola - 8.12.2006 14:22
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Korsar
сообщение 8.12.2006 17:41
Сообщение #13


Новичок
*

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

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


Спасибо большое Pola!!! Все равно не получается что-то!!! Ввожу элементы множества, после ввода последнего элемента нажимаю Enter и меня выбрасывает обратно. В чем дело? Что я не правильно делаю?
Код

program laba;
uses crt;
const n=10;
var i: set of byte
   procedure vvod;
     var a,s: byte;
      begin
       i:=[];
        for s:=1 to n do
         begin
          write('введите элемент множества ');
          readln(a);
          i:=i+[a];
         end;
      end;
   procedure vivodr;
     var a,s: byte;
           begin
            for s:=1 to n do
             if (a in i) and (a mod 2=1) then
              writeln('множество нечетных чисел:',i);
           end;
    procedure vivodr15;
     var a,s: byte;
       begin
        for s:=1 to n do
         if (a in i) and (a mod 15=0) then
          writeln('множество чисел кратных 15:',a);
       end;    
begin
  vivod;
  vivodr;
  vivodr15;
  readln;
end.  


Сообщение отредактировано: Korsar - 8.12.2006 17:45


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Korsar
сообщение 8.12.2006 22:45
Сообщение #14


Новичок
*

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

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


Народ, ну подмогните пожалуйста бедному студенту!!!!!!!!! sad.gif


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 8.12.2006 23:55
Сообщение #15


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


у меня вообще не компилируется...
а у тебя выбрасывает уже ПОСЛЕ ввода?
какой у тебя компилятор, что позволяет делать
writeln('множество нечетных чисел:',i);
?
да и кроме этого ошибки есть.


Сообщение отредактировано: мисс_граффити - 8.12.2006 23:56


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Korsar
сообщение 9.12.2006 2:02
Сообщение #16


Новичок
*

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

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


Цитата(мисс_граффити @ 8.12.2006 23:55) *

у меня вообще не компилируется...
а у тебя выбрасывает уже ПОСЛЕ ввода?
какой у тебя компилятор, что позволяет делать
writeln('множество нечетных чисел:',i);
?
да и кроме этого ошибки есть.

Да нет там у меня просто описка!!! А где еще ошибки есть? Скажите пожалуйста!!!


--------------------
Чайник по Паскалю!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 9.12.2006 8:15
Сообщение #17


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Я что, компилятор?
Запускаешь какой-нибудь компилятор - он тебе все строчки с ошибками покажет.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 9.12.2006 11:52
Сообщение #18


Гость






Всем большое спасибо!!! Я нашел все ошибки.
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 18.07.2025 14:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"