Помощь - Поиск - Пользователи - Календарь
Полная версия: Задачка с множествами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
ilua_great
Вообшем есть задача на множества:

Цитата
Дано произвольное множество целых чисел M в интервале 1..255 и массив 10х10, содержащий значения также в интервале 1..255. Удалить из исходного множества все элементы, входящие в массив.

И есть недоделаное решение:

program zzz3;
USES
CRT;
VAR
m1:array[1..255] of integer;
m2:array[1..20,1..20] of integer;
i,j :integer;
BEGIN
ClrScr;
randomize;
writeln('MASSIV 10x10');

for I:=1 to 10 do
Begin
writeln;
for J:=1 to 10 do
Begin
m2[I,J]:=round(random(505-255));
write(m2[I,J]:4,' ');
End;
End;

writeln;
writeln;
writeln('POSLEDOVATELNOST');
writeln;

for I:=1 to 10 do
begin
m1[i]:=round(random(505-255));
write(m1[i]:5);
end;
readkey;
END.


Вообшем прошу не помогать советами о том что и как сделать, а если не сложно исходный код готовой задачи. Т.к. сам в этом слабо соображаю, а надабы срочно give_rose.gif
Alеx J'Root
program zzz3;
USES
CRT;
VAR
m1:array[1..255] of integer;
m2:array[1..20,1..20] of integer;
m3:array[1..255] of integer;
m4:array[1..255] of integer;
i,j,z,k,M:integer;
BEGIN
ClrScr;
randomize;
writeln('MASSIV 10x10');

for I:=1 to 10 do
Begin
writeln;
for J:=1 to 10 do
Begin
m2[I,J]:=round(random(505-255));
write(m2[I,J]:4,' ');
End;
End;

writeln;
write('Vvedite M: '); readln(M);
writeln;
writeln('POSLEDOVATELNOST');
writeln;

for I:=1 to M do
begin
m1[i]:=round(random(505-255));
write(m1[i]:5);
end;

z:=1;
For i:=1 to M do
Begin
For k:=1 to 10 do
Begin
For j:=1 to 10 do
Begin
If m1[i]=m2[k,j] then
Begin
m3[z]:=m1[i];
z:=z+1;
End;
End;
End;
End;
k:=0;
For i:=1 to M do
Begin
For j:=1 to z-1 do
Begin
If m1[i]<>m3[j] then
Begin
If m1[i]<>m4[k] then
Begin
k:=k+1;
m4[k]:=m1[i];
end;
end;
end;
end;
writeln;
writeln;
writeln('POSLEDOVATELNOST POSLE YDALENIYA');
writeln;
For i:=1 to k do
write(m4[i]:5);

readkey;
END.



Добавлено через 6 мин.
Только тут не множества получились, а массивы )))
ilua_great
пасиба good.gif
volvo
Alеx J'Root, а теперь слушай внимательно, и не говори потом, что тебя "притесняют и унижают"... dry.gif

1) массив и множество - совершенно разные вещи, и если ты этого не знаешь - учи матчасть.
2) даже если автор привел задачу, в которой используется 2 массива, он сам и сказал, что это -
Цитата
недоделаное решение
, коли ты взялся помогать - будь добр сделать правильно (в первую очередь - по заданию, поскольку автор будет доволен твоим решением ровно до тех пор, пока не покажет его преподавателю).
3) где минус, заслуженно полученный тобой за хамство? Остался во втором профиле? Ты думаешь, создание дубликатов профиля правилами разрешено? Я прошу администраторов/модераторов форума обратить пристальное внимание на манипуляции Alеx J'Root-а (первое лицо: Alex J'Root и второе: Alеx J'Root ), и принять меры...

ilua_great, вот решение задачи, удовлетворяющее условию:
uses crt;

const
size = 10;
var
my_set: set of byte;
matr: array[1 .. 10, 1..10] of byte;

i, j: integer;

begin
ClrScr;
randomize;
writeln('MASSIV 10x10');

for I:=1 to 10 do
Begin
writeln;
for J:=1 to 10 do
Begin
matr[I,J] := random(255) + 1;
write(matr[I,J]:4,' ');
End;
End;

writeln;
writeln;
writeln('POSLEDOVATELNOST DO:');
writeln;

for I:=1 to 10 do
begin
repeat
j := random(255) + 1;
until not (j in my_set);
include(my_set, j);
write(j:5);
end;

writeln;
writeln;
writeln('POSLE:');
writeln;

for i := 1 to size do
for j := 1 to size do
if matr[i, j] in my_set then exclude(my_set, matr[i, j]);

for I:= 0 to 255 do
if i in my_set then write(i:5);
writeln;
readkey;
END.
Alеx J'Root
2 volvo: читай мою подпись. Блин, ты такой смешной... прям как ребёнок. "Первое лицо.... второе лицо" lol.gif Если у администации будут вопросы почему у меня два аккаунта (первый я уже не использую), то отвечать на них я буду администрации!!!!

Ещё заметил такую странность, что ты все время ждёшь, пока кто-нибудь выложит решение на заданную задачу, а ты потом найдёшь там ошибку и исправишь её.... smile.gif))

Цитата
1) массив и множество - совершенно разные вещи, и если ты этого не знаешь - учи матчасть.

Если ты не умеешь читать, я не виноват.
Цитата
Только тут не множества получились, а массивы )))
Michael_Rybak
Alеx J'Root, ок, поведай нам всем (почему только администрации?), с чем связано создание тобой нового профиля?

Цитата
Блин, ты такой смешной... прям как ребёнок.


При переходе на личности пользуйся, пожалуйста, приватом.

Добавлено через 3 мин.
Цитата
Ещё заметил такую странность, что ты все время ждёшь, пока кто-нибудь выложит решение на заданную задачу, а ты потом найдёшь там ошибку и исправишь её....


Ну а это уже чистой воды провокация. Человека с такой же, как у Вольво, готовностью помогать в решении как интересных, так и не очень интересных ему задач - еще поискать надо. Если бы он каждый раз ждал, пока кто-то другой выложит решение, он бы часто не дожидался smile.gif Своими "выводами", основанными на двух или трех замеченных тобой случаях, ты ставишь в сомнительное положение себя самого.
Alеx J'Root
Потому что только администрации, объяснять не буду, т.к. правила п.8
Michael_Rybak
Ты нарушил этот самый пункт неоднократно.
andriano
Цитата(Alеx J'Root @ 13.06.2008 17:15) *
Ещё заметил такую странность, что ты все время ждёшь, пока кто-нибудь выложит решение на заданную задачу, а ты потом найдёшь там ошибку и исправишь её.... smile.gif))
Ты недостаточно внимателен.
На форуме принято, что спрашивающий кроме условия задачи выкладывает свой (неверный/недоделанный) вариант решения. Так что если кто-то чего-то и ждет, то именно этого.
И это правильно, т.к. в конечном счете цель форума - повышение квалификации выпускников, а не ее снижение. (очевидно, что если помочь человеку разобраться, он будет знать больше, а если сделать за него задание - то меньше)
В то же время ты явно демонстрируешь:
1. Либо невнимательность, либо нежелание следовать традициям форума.
2. Уровень квалификации вряд ли достаточный для того, чтобы давать ответы.
3. Довольно задиристый норов и сомнительные моральные принципы (последнее - судя по странным манипуляциям с аккаунтом).
Не пора ли перестать искать (или выдумывать) чужие недостатки и переключиться на самоанализ?
kosyak
Извините что вмешиваюсь, но просто смешно на вас...
Я конечно не админ и не модер, но вроде ясно написано:

5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
8. Спрашивайте и отвечайте четко и по существу!!!
Alеx J'Root
Цитата
Я конечно не админ и не модер, но вроде ясно написано:

5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
8. Спрашивайте и отвечайте четко и по существу!!!

Ты только что их нарушил!
klem4
Я предупреждал, тема закрыта, Alеx J'Root получает бан на 3 месяца, второй профиль заблочен навсегда, и не советую создавать другие профили, получишь бан по IP пожизненно.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.