Консультация № 134153
25.04.2008, 18:15
0.00 руб.
0 1 1
Известны марки машин, изготовляемых в данной стране и импортируемых зарубеж. Даны некоторые N стран. Определить для каждой из марок, какие из них были:
- доставлены во все страны
- доставлены в некоторые из стран
- не доставлены ни в одну страну

Обсуждение

Неизвестный
25.04.2008, 18:59
общий
это ответ
Здравствуйте, Cobain! Могу предложить способ решения указанный в приложении! Т.к. я не знаю, какие марки автомобилей Вы брали, то я решил задачу на примере видов спорта! При желании Задачу можно переделать "на лету".
P.S. пришлось импровизировать с Case


Приложение:
program sport; uses crt;Type s1=set of byte; vidy=set of 1..11;var a,b,c,k,n:s1; by,j:byte; s:string; i:integer; ch:char; function zamena (s:string):byte; var i:byte; begin case s[1] of ‘ф‘,‘Ф‘: begin case s[2] of ‘у‘,‘У‘: i:=1; ‘е‘,‘Е‘: i:=6; ‘и‘,‘И‘: i:=10; end; end; ‘б‘,‘Б‘: begin case s[2] of ‘а‘,‘А‘: i:=2; ‘о‘,‘О‘: i:=5; ‘е‘,‘Е‘: i:=8; end; if Length(s)>10 then i:=11; end; ‘в‘,‘В‘: i:=3; ‘т‘,‘Т‘: i:=4; ‘к‘,‘К‘: i:=7; ‘ш‘,‘Ш‘: i:=9; end; zamena:=i; end; procedure vivod (m:s1;p:byte); var i,t:byte; begin t:=0; for i:=1 to 11 do if i in m then begin GoToXY(p,i+1); inc(t); case i of 1: Writeln(‘Футбол‘); 2: Writeln(‘Баскетбол‘); 3: Writeln(‘Волейбол‘); 4: Writeln(‘Теннис‘); 5: Writeln(‘Бокс‘); 6: Writeln(‘Фехтование‘); 7: Writeln(‘Карате‘); 8: Writeln(‘Бег‘); 9: Writeln(‘Шахматы‘); 10:Writeln(‘Фигурное катание‘); 11:Writeln(‘Бег на лыжах‘); end; end; end; procedure vivod1 (a,b,c:s1); begin GoToXY(1,1); Writeln(‘Во всех группах: ‘); k:=a*b*c; vivod(k,1); for i:=1 to 11 do k:=k+[i]; k:=k-a-b-c; GoToXY(20,1); Writeln(‘Ни в одной из групп: ‘); vivod(k,20); GoToXY(45,1); k:=a+b+c; Writeln(‘Хотя бы в одной группе: ‘); vivod(k,45); end;begin clrscr; writeln(‘Виды спорта которыми занимаются в группах:‘); writeln(‘футбол, баскетбол, волейбол, теннис, бокс, фехтование‘); writeln(‘карате, бег, шахматы, фигурное катание, бег на лыжах‘); Writeln; a:=[]; b:=[]; c:=[]; j:=1; while (j<>4) do begin clrscr; vivod1(a,b,c); GoToXY(1,14); write(‘Вводить виды спорта для ‘,j,‘-ой группы? ‘); case j of 1: begin readln(ch); if not(ch in [‘y‘,‘Y‘,‘д‘,‘Д‘]) then inc(j) else begin; readln(s); a:=a+[zamena(s)]; end; end; 2: begin readln(ch); if not(ch in [‘y‘,‘Y‘,‘д‘,‘Д‘]) then inc(j) else begin; readln(s); b:=b+[zamena(s)]; end; end; 3: begin readln(ch); if not (ch in [‘y‘,‘Y‘,‘д‘,‘Д‘]) then inc(j) else begin; readln(s); c:=c+[zamena(s)]; end; end; end; end; readln end.
Форма ответа