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

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

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

 
 Ответить  Открыть новую тему 
> простенькая задача на множества, Срочняк!!!
сообщение
Сообщение #1





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

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


Из множества целых чисел 1..100 выделить множество чисел, являющихся в свою очередь квадратами целых чисел
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


не понял условия... sad.gif

Квадратами каких целых чисел???


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






emm
Можно переформулировать задачу так:
"Найти все числа из интервала 1..100, являющиеся квадратами целых чисел"?

Или я не прав?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Хм... volvo, ты уже не в первый раз придаешь непонятным топикам хоть какой-то смысл... :p9:

Если это действительно так, то какие затруднения emm?
Будем учить Pascal или все подать на "тарелочке"?


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


ну никак не получается
посмотрите, что нетак с этой программой
Код
var
b:set of 1..100;
kv:set of byte;
i:integer;

begin
kv:=[];
for i:=1 to 100 do if (sqr(i) in B)=true then include(kv,sqr(i));
for i:=1 to 100 do if (i in kv)=true then write(' ',i);
readln;
writeln;
end.


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Может вместо set будем использовать array ?

emm, забываешь заключать код в теги!


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






emm
Описываешь Set of Byte и пытаешься засунуть туда 100*100 ?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Знаток
****

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

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


Множества, в своём большинстве, не превосходят 10 элементов.
Для 100 элементов лучше использовать массив (array), как уже заметили раньше.


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Знаток
****

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

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


Поправь так:
Код
Sq := Sqr (N);
if (Sq <= Max) then Include (kv, Sq);

И вместо write(' ',i); напиши write (i : 4);
Так красивее.

Множества, по-моему, здесь вообще не нужны.
Код
Sq := Sqr (N);
if (Sq <= Max) then write (Sq : 4);


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





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

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


ну если нам дали эту задачу из раздела множества и сказали решать с множествами, дак как вы думаете!!! нужны тут множества или нет?!!! Что-то я пока ни одного ценного совета здесь не заметила!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






emm Спокойнее... У Вас где-нибудь было сказано, что эту задачу нужно решать при помощи множеств? Нет... А решается она при помощи множеств вот так:

const
 maxNum = 100;
var
 kv:set of byte;
 i: 1 .. maxNum;
const
 b = [1 .. maxNum];

begin
kv:=[];
{Работаем с квадратами, поэтому достаточно
 пройти до корня из макс числа...}
for i:=1 to Trunc(sqr(maxNum)) do
 if (sqr(i) in b) then include(kv,sqr(i));

for i:=1 to maxNum do
 if (i in kv) then write(i:4);
readln;
writeln;
end.



P.S. А можно встречный вопрос? Что будет, если Вашему преподавателю вздумается найти все числа из интервала 1 .. 400, являющиеся квадратами целых чисел ? А множества вмещают 256 элементов ... Используя те советы, которые давались здесь, Вы можете этого избежать...

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12





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

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


Ну неужели хоть кто-то помог. Спасибо большое!!! :no:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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