Задача 8 урок 16

Условие: Проверить можно ли строки из m перестановкой
символов получить строку n.}
{К алгоритму:
флаг нам в руки когда:
1/строки равны по размеру;
2/каждый элемент первой и второй строки встресчаются
равное количество раз;

Задача 8 урок 16

program U16z8;

var
  s1, s2: string;
  i, j, h, C, C2: integer;
  f: boolean;
begin
  f := True;  //флаг вверх!
  C := 0; //1 счетчик совпадений
  C2 := 0; // 2 счетчик совпадений
  writeln('vvedite proizvolnuy stroku:');
  readln(s1);
  writeln('vvedite proizvolnuy stroku:');
  readln(s2);
  if length(s1) = length(s2) then {первое условие истинности  -
                                  если строки равны по длине}
  begin
    for i := 1 to length(s1) do //каждый элемент 1 строки
    begin
      for j := 1 to length(s1) do//с каждым в 1 строке
        if s1[i] = s1[j] then
          C:=C+1;         //увеличиваем 1 счетчик  совпадений
      for h := 1 to length(s2) do  // с каждым во 2 строке
        if s1[i] = s2[h] then
          C2:=C2+1;;         //увеличиваем 2 счетчик  совпадений
      if C <> C2 then   {второе условие истинности -
                         колиество совпадений в строках равно}
      begin
        f := false; //флаг вниз, если к-во совпадений не равно
        break;
      end;
    end;
  end
  else
    f := false;  //флаг вниз, если строки не  равны  по длине

  if f then    //печать результата сравнения
    writeln('DA!')
  else
    writeln('NET!');
  readln();
end.         
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)