Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Bionic4656
34 / 8 / 2
Регистрация: 18.05.2010
Сообщений: 97
#1

множества

20.01.2011, 19:38. Просмотров 296. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста с задачкой по множествам
Известны марки машин, изготовляемых в данной стране и импортиру¬емых за рубеж. Даны некоторые N стран. Определить для каждой из марок, какие из них были доставлены во все страны; - доставлены в некоторые из стран; не доставлены ни в одну из стран (использовать перечисляемый тип и текстовые файлы).
вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
 
Type car = (BMW,Audi,Oka,Reno,Mersedes);
     cars = Set Of car;
     files = Textfile;
 
Const Ku1 : Array[1..5] Of car =(BMW,Audi,Oka,Reno,Mersedes);
      KK : Set Of car = [BMW,Audi,Oka,Reno,Mersedes];
 
Var A : Array [1..30] Of cars;
I, J, K, N, N1 : Integer;
S,v : String;
ca : Array[1..4] Of String;
Per, Ob : cars;
fi:files;
Begin
  SetConsoleCP(1251);
  SetConsoleOutPutCP(1251);
 
  Assignfile(fi,'f.txt');
  reset(fi);
  i:=1;
  While not eof(fi) do
    begin
    readln(fi,v);
    ca[i]:=v;
    i:=i+1;
    end;
  close(fi);
  writeln('Марки машин вводятся на русском языке!');
  Write('Введите кол-во стран: ');
  ReadLn(N);
  For I := 1 To N Do
  Begin
    Write('Введите кол-во машин ', I , ' страны: ');
    ReadLn(N1);
    A[I] := [];
    For J := 1 To N1 Do
    Begin
      Write(J, '-машина: ');
      ReadLn(S);
      For K := 1 To 5 Do
      If S=ca[K] Then
      Include(A[I], Ku1[K])
    End
  End;
  Per:=KK;
  Ob:=[];
  For I:=1 To N Do
  Begin
    Per:=Per*A[I];
    Ob:=Ob+A[I]
  End;
  WriteLn('Машины которые есть в каждой стране: ');
 
  For I := 1 To 5 Do
  If Ku1[I] In Per Then WriteLn(ca[I]);
  WriteLn('Машины, которые есть хотябы в 1 стране: ');
 
  For I := 1 To 5 Do
  If Ku1[I] In Ob Then WriteLn(ca[I]);
  WriteLn('Машины, которых нет ни в одной стране: ');
 
  For I := 1 To 5 Do
  If Ku1[I] In KK - Ob Then WriteLn(ca[I]);
 readln;
End.
у меня вот в чем проблема: я не могу понять для чего нужны константы и есть ли возможность решить задачу без них, но чтобы использовались множества.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2011, 19:38
Ответы с готовыми решениями:

Из множества целых чисел от 1 до 30 выделить два множества
Помогите пожалуйста)) Из множества целых чисел от 1 до 30 выделить два...

Проверить являются члены множества классов потомками другого множества классов
Как проверить являются ли члены множества классов потомками другого множества...

Из множества целых чисел от 1 до 30 выделить два множества: чисел, кратных 2 и чисел, кратных 3
Из множества целых чисел от 1 до 30 выделить два множества: чисел, кратных 2 и...

Множества
Помогите пожалуйста решить задачку,а то я сейчас заплачу... Дан файл из ...

Множества
Вводится набор строк и набор чисел. Введенные числа показывают номера выбранных...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2011, 19:38

Множества
Дан файл из цифр и латинских строчных букв, за которым следует точка. ...

Множества
Помогите, пожалуйста, с решением программы: Пусть дана непустая...

Множества
Помогите сделать. Дан текст на руском языке.Напечатать в алфавитном порядке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru