** Имат ли нещо общо?

Да се напише програма, която позволява да се въведат 5 символа и после още 5 и отпечатва:

  1. TRUE ако имат поне един общ символ и FALSE, ако са напълно различни.
  2. TRUE ако са същите символи, та макар и в различен ред и FALSE, ако съдържат поне един различен.
  3. TRUE ако при кое да е от двете въвеждания е въведена поне една буква и FALSE, ако са въвеждани само други символи.
  4. TRUE ако при всяко от двете въвеждания е въведена поне една буква и FALSE, ако поне едното съдържа само други символи.
Публикувано в 10a с етикети . Постоянна връзка.

3 Responses to ** Имат ли нещо общо?

  1. Боряна каза:
    (*Да се напише програма, която позволява да се въведат 5 символа
    и после още 5 и отпечатва:
    
        TRUE ако имат поне един общ символ и FALSE,
        ако са напълно различни.
    
        TRUE ако са същите символи, та макар и в различен ред
        и FALSE, ако съдържат поне един различен.
    
        TRUE ако при кое да е от двете въвеждания е въведена поне
        една буква и FALSE, ако са въвеждани само други символи.
    
        TRUE ако при всяко от двете въвеждания е въведена поне
        една буква и FALSE, ако поне едното съдържа само други символи.*)
    
    program Project1;
    type
      TSimvoli=set of char;
    const
      Bukvi=['A'..'Z', 'a'..'z'];
      Cifri=['0'..'9'];
    var
      Set1, Set2: TSimvoli;
      C: char;
      i, q: integer;
    begin
      Set1:=[];
      Set2:=[];
    
      Write('Vavedete pet simvola:');
      for i:=1 to 5 do begin
        Read(C);
        Include(Set1, C);
      end;
      ReadLn;
    
      Write('Vavedete oshte pet simvola:');
      for q:=1 to 5 do begin
        Read(C);
        Include(Set2, C);
      end;
      ReadLn;
    
      WriteLn;
      Write('Ima li pone edin obsht simvol? ');
      if Set1*Set2<>[] then
        WriteLn('TRUE')
      else
        WriteLn('FALSE');
    
      WriteLn;
      WriteLn('Ednakvi li sa dvete poredici simvoli? ');
      if Set1=Set2 then
        WriteLn('TRUE')
      else
        WriteLn('FALSE');
    
      WriteLn;
      WriteLn('Ima li pone edna bukva? ');
      if (Set1*Bukvi<>[]) or (Set2*Bukvi<>[])then
        WriteLn('TRUE')
      else
        WriteLn('FALSE');
    
      WriteLn;
      WriteLn('Ima li pone po edna bukva i v dvete poredici? ');
      if (Set1*Bukvi<>[]) and (Set2*Bukvi<>[])then
        WriteLn('TRUE')
      else
        WriteLn('FALSE');
    
      ReadLn;
    end.
    
  2. Боряна каза:
    program Project1;
    type
      TSimvoli=set of char;
    const
      Bukvi=['A'..'Z', 'a'..'z'];
    var
      Set1, Set2: TSimvoli;
      C: char;
      i, q: integer;
    begin
      Set1:=[];
      Set2:=[];
    
      Write('Vavedete pet simvola:');
      for i:=1 to 5 do begin
        Read(C);
        Include(Set1, C);
      end;
      ReadLn;
    
      Write('Vavedete oshte pet simvola:');
      for q:=1 to 5 do begin
        Read(C);
        Include(Set2, C);
      end;
      ReadLn;
    
      WriteLn;
      Write('Ima li pone edin obsht simvol? ', Set1*Set2<>[]);
    
      WriteLn;
      WriteLn('Ednakvi li sa dvete poredici simvoli? ', Set1=Set2);
    
      WriteLn;
      WriteLn('Ima li pone edna bukva? ', ((Set1+Set2)*Bukvi<>[]));
    
      WriteLn;
      WriteLn('Ima li pone po edna bukva i v dvete poredici? ', (Set1*Bukvi<>[]) and (Set2*Bukvi<>[]));
    
      ReadLn;
    end.
    

Вашият коментар