Показать сообщение отдельно
Старый 09.04.2013, 17:29   #1 (permalink)
Only
Member
 
Регистрация: 24.03.2013
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Помогите с множествами

Задание:
Задан некоторый набор товаров. Определить для каждого из товаров, какие из них имеются в каждом изn магазинов, какие товары есть хотя бы в одном магазине и каких товаров нет ни в одном магазине.


Что получилось:
Цитата:
program m3_test;
uses crt;
label start;

var
cont:byte;
magazin:array[1..100] of set of char;
tovar:array[1..100] of char;
v1,v2,v3:set of char;
temp:char;
test,n,i,j,t,tov:integer;


begin
start:
clrscr;

write('Vvedite kol-vo tovarov:');
readln(tov);
writeln;

for i:=1 to tov do
begin
write('Vvedite nazvanie ',i,' tovara (1 bukva):');
readln(tovar[i]);
end;
writeln;

write('Vvedite kol-vo magazinov:');
readln(n);

writeln;

for i:=1 to n do
begin
write('Vvedite kol-vo tovoarov v ',i,' magazine:');
readln(t);
writeln;
for j:=1 to t do
begin
write('Imja ',j,' tovara:');
readln(temp);
magazin[j]:=magazin[j]+[temp];
end;
writeln;
end;

writeln;

for i:=1 to tov do
begin
test:=0;

for j:=1 to n do
begin
writeln(j,':',tovar[i]);
if tovar[i] in magazin[j] then inc(test);
end;
if test=0 then v1:=v1+[tovar[i]];
if test>0 then v2:=v2+[tovar[i]];
if test=n then v3:=v3+[tovar[i]];
end;

writeln('Resultat');
writeln('V kashdom magazine:');
for i:=1 to tov do
if tovar[i] in v3 then writeln(tovar[i]);

writeln;

writeln('Xotjabi v 1 magazine:');
for i:=1 to tov do
if tovar[i] in v2 then writeln(tovar[i]);


writeln;

writeln('Ni v odnim magazine:');
for i:=1 to tov do
if tovar[i] in v1 then writeln(tovar[i]);
writeln;
end.

Не считает "В каждом магазине", почему не понимаю, исправьте, или напишите программу пожалуйста.
Only вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070