всем привет!
есть 4 авто салона и всего 20 марок автомобилей!
надо сделать чтоб показывались марки (набор авто) которые есть сейчас в каждом из салонов! чтобы можно было добовлять удалять марку, какие из тех 20 марок отсутствуют везде, какие есть во всех салонах и выводить которые есть только в данном салоне И СДЕЛАТЬ ВЫБОРКУ АВТОМОБиЛЕЙ КОТОРЫЕ ЕСТЬ В САЛОНЕ (я не совсем понил что значит и что надо сделать в последнем пункте!)
помогите пожалуйста!))))
Ну, здесь насколько я понимаю, задача именно в отработке операций над множествами? Что есть "сложение" множеств знаешь? "Умножение"? "Вычитание"?
Здесь: http://forum.pascal.net.ru/index.php?showtopic=3318
я об этом рассказывал. А программы, реализующие все эти операции, есть здесь:
http://forum.pascal.net.ru/index.php?showtopic=3750
http://forum.pascal.net.ru/index.php?s=&showtopic=3618&view=findpost&p=32395
(тебе нужно только разобраться, как это работает, и сделать программу по своему условию...)
запутался я окончательно!
program mnojestvo;
digits = set of 0..20;
var
A:set of digits;
B:set of digits;
c: set of digits;
d:set of digits;
так задавать множество!?
как мне их саполнить!? и как сделать чтоб они сравнивались!?
Type TMySet = set of 0 .. 19; { 20 марок автомобилей }
Var
saloon: array[1 .. 4] of TMySet; { 4 салона }
InAll: TMySet;
i: integer;
Begin
{ в первом салоне есть автомобили марок 1, 3, 6, 7, 8, 9, 10, 11 и 15 }
saloon[1] := [1, 3, 6 .. 11, 15];
...
{ аналогично заполняешь остальные салоны }
{ найдем автомобили, содержащиеся во ВСЕХ салонах: }
InAll := [0 .. 19]; { все возможные марки }
For i := 1 to 4 do InAll := InAll * saloon[i];
{ теперь в InAll перечислены только те марки, которые есть везде }
End.
Type TMySet = set of 0 .. 19; { 20 }а как вывести результат!?
Var
saloon: array[1 .. 4] of TMySet; { 4 }
InAll: TMySet;
i: integer;
Begin
saloon[1] := [1, 3, 6 .. 11, 15];
saloon[2] := [2, 4, 6 .. 13, 19];
saloon[3] := [1, 4, 8 .. 11, 18];
saloon[4] := [1, 7, 9 .. 15, 16];
InAll := [0 .. 19];
For i := 1 to 4 do InAll := InAll * saloon[i];
End.
Ты по ссылке во втором посте ходил? Там написано, что множества выводятся только через полный перебор возможных значений... В цикле, короче...
For i := 0 to 19 do
if i in InAll Then Write(i:3);
program mnoj;
Type TMySet = set of 0 .. 19; { 20 }
Var
saloon: array[1 .. 4] of TMySet; { 4 }
InAll: TMySet;
i: integer;
Begin
saloon[1] := [1, 3, 6 .. 11, 15];
saloon[2] := [2, 4, 6 .. 13, 19];
saloon[3] := [1, 4, 8 .. 11, 18];
saloon[4] := [1, 7, 9 .. 15, 16];
InAll := [0 .. 19];
For i := 1 to 4 do InAll := InAll * saloon[i];
For i := 0 to 19 do
if i in InAll Then Write(i:3);
End.
я все прочитал!(((
я чет ни как не пойму!(((( у меня ни это часть не работает не чего не выводится ни та программа про магазин не работает!((((
Не понял... Что у тебя не выводится? В программе из твоего же 7-го поста не печатается ответ:
9 10 11
?
Значит у тебя что-то с Паскалем... У меня вот эта программа откомпилировалась тремя разными компиляторами, и отработала после этого...
program mnoj;
Type TMySet = set of 0 .. 19; { 20 }
Var
saloon: array[1 .. 4] of TMySet; { 4 }
InAll, InNone: TMySet;
i: integer;
Begin
saloon[1] := [1, 3, 6 .. 11, 15];
saloon[2] := [2, 4, 6 .. 13, 19];
saloon[3] := [1, 4, 8 .. 11, 18];
saloon[4] := [1, 7, 9 .. 15, 16];
InAll := [0 .. 19]; InNone := [0 .. 19];
For i := 1 to 4 do begin
InAll := InAll * saloon[i];
InNone := InNone - saloon[i];
end;
Write('in all: ');
For i := 0 to 19 do
if i in InAll Then Write(i:3);
Writeln;
Write('in none: ');
For i := 0 to 19 do
if i in InNone Then Write(i:3);
Writeln;
readln;
End.
program mnoj;
uses crt;
Type TMySet = set of 0 .. 19; { 20 }
Var
saloon: array[1 .. 4] of TMySet; { 4 }
InAll, InNone: TMySet;
i: integer;
Begin
clrscr;
saloon[1] := [1, 3, 6 .. 11, 15];
saloon[2] := [1,2, 4, 6 .. 13, 19];
saloon[3] := [1, 4, 8 .. 11, 18];
saloon[4] := [1, 7, 9 .. 15, 16];
InAll := [0 .. 19]; InNone := [0 .. 19];
For i := 1 to 4 do begin
InAll := InAll * saloon[i];
InNone := InNone - saloon[i];
end;
Write('saloon[1]: ');
For i := 0 to 19 do
if i in saloon[1] Then Write(i:3);
Writeln;
Write('saloon[2]: ');
For i := 0 to 19 do
if i in saloon[2] Then Write(i:3);
Writeln;
Write('saloon[3]: ');
For i := 0 to 19 do
if i in saloon[3] Then Write(i:3);
Writeln;
Write('saloon[4]: ');
For i := 0 to 19 do
if i in saloon[4] Then Write(i:3);
Writeln;
writeln(' ');
Write('in all: ');
For i := 0 to 19 do
if i in InAll Then Write(i:3);
Writeln;
Write('in none: ');
For i := 0 to 19 do
if i in InNone Then Write(i:3);
Writeln;
readln;
End.
это не задача а сплошное мучение
как мне сделать чтоб можно было добавлять марки и удалять!? пожалуйста подскажите!
в задаче про магазины нет добавления и удаления продуктов! подскажите и обьедините эти 3 сообшения в одно пизззззззззззззз!)