Определить фирмы, в которых закупила компьютеры каждая организация
Категория: Delphi/Pascal
2012-04-01 21:08:31
Организации, закупали компьютеры в фирмах «Вега», «Владос», «Техно» «Сити», «Санрайз», «Стиль». Определить фирмы, в которых закупила компьютеры каждая организация, фирмы, в которых купила компьютеры хотя бы одна организация, фирмы, в которых ни одна организация не купила компьютеры.
code: #pascal
Program mn_1; Uses Crt; Type firma= set of 1..6; f1=array[0..20] of firma; const f:array[1..6] of string[10] = ('Вега'‚'Владос','Техно','Сити','Санрайз','Стиль'); Var a:f1; n,i,j,otv:byte; per,ob:firma; Begin ClrScr; Write('Количество организаций, закупавших компьютеры:');readln(n); For i:=1 to n do begin a[i]:=[]; for j:=1 to 6 do begin Write(i,'я организация закупала компьютеры в фирме: ',f[j],' (1-да ,0-нет)'); readln(otv); if otv=1 then a[i]:=a[i]+[j]; end; end; Writeln; Per:=[1..6]; For i:=1 to n do per:=per*a[i]; Writeln('Фирмы, в которых купила компьютеры каждая организация'); For i:=1 to 6 do if i in per then Write(f[i]:10); Ob:=[]; For i:=1 to n do ob:=ob+a[i]; Writeln; Writeln( 'Фирмы, в которых купила компьютеры хотя бы одна организация'); For i:=1 to 6 do if i in ob then Write(f[i]:10); Writeln; Writeln('Фирмы, в которых не купила компьютеры ни одна организация'); For i:=1 to 6 do if i in [1..6]-ob then Write(f[i]:10); Readln; end.
Поделиться: