• Помогите, пожалуйста написать программу на Паскале(или хотя бы алгоритм на том же языке).в матрице А[5,5] найти все строки, совпадающие со строками матрицы В[5,5]. Переформировать матрицу А так, чтобы найденные строки располагались в её начале, а остальные в конце.

Ответы 2

  • Если загрузить программу и в исходнике подводить мышку к непонятным словам, будут всплывать подсказки на русском языке и все станет совсем понятно.
  • PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018Внимание! Если программа не работает, обновите версию!

    begin

     var a := new integer[5, 5](

         (2, 4, 5, 1, 3),

         (7, 2, 9, 0, 2),

         (6, 4, 1, 0, 1),

         (8, 4, 7, 2, 0),

         (6, 0, 0, 2, 1));

     Println('Массив A');    

     a.Println(2);

     Println('Массив B');

     var b := new integer[5, 5](

         (2, 4, 5, 0, 3),

         (6, 0, 3, 2, 1),

         (2, 4, 5, 1, 3),

         (8, 4, 7, 2, 0),

         (6, 2, 0, 2, 1));

     b.Println(2);

     Println('Массив A');

     var c := new integer[5, 5];

     var (upper, lower) := (0, a.RowCount - 1);

     for var i := 0 to a.RowCount - 1 do

     begin

       var found := False;

       for var j := 0 to b.RowCount - 1 do

         if a.Row(i).SequenceEqual(b.Row(j)) then

         begin

           c.SetRow(upper, a.Row(i));

           upper += 1;

           Found := True;

           break

         end;

       if not found then  

       begin

         c.SetRow(lower, a.Row(i));

         lower -= 1;

       end

     end;

     a := Copy(c);

     c := nil; // удаляем с

     a.Println(2)

    end.

    answer img
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years