1 Востаннє редагувалося Меліса (12.05.2014 21:06:31)

Тема: Множини латинських букв

Програма працює і виводить правильний результат.
Проте, вона в мене надто лаконічна вийшла, очевидно завдання частково виконує.

Завдання: Задано множини А, В, С малих букв латинського алфавіту. Утворити
множину D=A∩ B∩ C. Надрукувати елементи множин A, B, C, D.

Надрукувати елементи множин A, B, C, D. - порадьте, як цю кінцеву частину завдання тут чим по коротше доробити?

Код:

PROGRAM LATIN;
uses crt;
var A,B,C,D: set of char;
    s:char;
begin clrscr;
A:=['a','b','c','m'];
B:=['a','f','h','b'];
C:=['a','b','z','f'];
D:=A*B*C;
   for s:= 'a' to 'z' do
   if s in D then write(s);
readln
end.
Подякували: Chemist-i1

2 Востаннє редагувалося Chemist-i (12.05.2014 22:02:46)

Re: Множини латинських букв

PROGRAM LATIN;
  uses crt;
  var A: array [0..4] of set of char;
      i : integer;
      s:char;
begin
  clrscr;
  A[0]:=['a','b','c','m'];
  A[1]:=['a','f','h','b'];
  A[2]:=['a','b','z','f'];
  A[3]:=A[0]*A[1]*A[2];
  for i := 0 to 3 do
  begin
    write( #13#10 + char(ord('A')+i)+':' );
    for s:= 'a' to 'z' do
      if s in A[i] then write(s);
  end;
  readln
end.

output:

A:abcm
B:abfh
C:abfz
D:ab
Подякували: Меліса1

3

Re: Множини латинських букв

Вирішує повністю. Єдине питання - що такі завдання іноді дають із додатковою умовою "не користуватися set-ами", щоб показати, як set працює зсередини. Якщо такої умови немає - сміливо здавайте, все правильно у вас.

Подякували: Меліса1

4

Re: Множини латинських букв

koala написав:
Прихований текст

Вирішує повністю. Єдине питання - що такі завдання іноді дають із додатковою умовою "не користуватися set-ами", щоб показати, як set працює зсередини. Якщо такої умови немає - сміливо здавайте, все правильно у вас.

Прихований текст

Не повністю, кажуть же що надрукувати А, Б, С, Д, а воно друкує тільки Д

Подякували: koala, Меліса2