Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2013, 17:24   #1
Live1SMR
Пользователь
 
Регистрация: 26.03.2013
Сообщений: 13
Сообщение Множества, Pascal

Задание:
Задан некоторый набор товаров. Определить для каждого из товаров, какие из них имеются в каждом из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.
Не считает "В каждом магазине", почему не понимаю, исправьте, или напишите программу пожалуйста.

Последний раз редактировалось Serge_Bliznykov; 09.04.2013 в 21:00.
Live1SMR вне форума Ответить с цитированием
Старый 09.04.2013, 21:11   #2
Live1SMR
Пользователь
 
Регистрация: 26.03.2013
Сообщений: 13
По умолчанию

всё ещё актуально
Live1SMR вне форума Ответить с цитированием
Старый 09.04.2013, 22:09   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
begin
	WriteLn ('Введите кол-во товара '); ReadLn (CountOfProduct);
	
	for i := 1 to CountOfProduct do begin
		Write ('Ввведите название', i, '-го товара, состоящие из 1-ой буквы ');
		ReadLn (products[i])
	end;
	
	WriteLn ('Введите кол-во магазинов '); ReadLn (CountOfShop);
	
	for i := 1 to CountOfShop do begin
		WriteLn ('Введите кол-во товаров в ', i, '- том магазине ');
		ReadLn (n);
		
		for j := 1 to n do begin
			ReadLn (t);
			shop[i] := shop[i] + t
		end
	end;
	
	t := shop[1];
	for i := 2 to CountOfShop do 
		t := t * shop[i];
		
	PrintProduct (CountOfProduct, products[i], t);
	
	t := shop[1];
	for i := 2 to CountOfShop do 
		t := t + shop[i];
		
	PrintProduct (CountOfProduct, products[i], t);
	
	WriteLn ('Товары, которых нет ни в одном магазине');
	
	for i := 1 to CountOfProduct do
		if not (products[i] in t) then
			WriteLn (t)
			
end.
Не проверял! Типы и PrintProduct опишите сами.
Poma][a вне форума Ответить с цитированием
Старый 09.04.2013, 22:46   #4
Live1SMR
Пользователь
 
Регистрация: 26.03.2013
Сообщений: 13
По умолчанию

что то не выходит
Live1SMR вне форума Ответить с цитированием
Старый 09.04.2013, 22:54   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
что то не выходит
что конкретно у Вас не выходит? Как Вы пытались это сделать?
Poma][a вне форума Ответить с цитированием
Старый 10.04.2013, 16:09   #6
Live1SMR
Пользователь
 
Регистрация: 26.03.2013
Сообщений: 13
По умолчанию

Спасибо за отзывчивость, исправили изначальную ошибку)
Live1SMR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal ABC. Множества. Сформировать два множества из M и N элементов случайным образом. powersej Паскаль, Turbo Pascal, PascalABC.NET 0 13.12.2012 21:08
Pascal ABC. Множества. Сформировать два множества из M и N элементов случайным образом. powersej Помощь студентам 0 13.12.2012 20:58
Множества Pascal Rusl92 Помощь студентам 3 02.10.2011 18:08
Множества (Pascal) (=Hello=) Помощь студентам 2 27.02.2011 10:53