Показать сообщение отдельно
Старый 10.04.2013, 10:47   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Only Посмотреть сообщение
Не считает "В каждом магазине", почему не понимаю, исправьте, или напишите программу пожалуйста.
Уф, отладил. Главная ошибка - не та переменная цикла была в выделенной строке: нужно i, а стояла j. Ну и еще по мелочи причесал.

Код:
Uses CRT;
var
 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
 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 tovarov v ',i,' magazine: ');
   readln(t);
   writeln;
   for j:=1 to t do
    begin
     write('Imja ',j,' tovara: ');
     readln(temp);
     magazin[i]:=magazin[i]+[temp];
    end;
   writeln;
  end;

 writeln;

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

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

 writeln;

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

 writeln;

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

 ReadKey
end.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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