Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Матрицы.Помогите


Автор: grabovo 8.12.2008, 21:36
Дана двумерная матрица.Есть ли в ней одинаковые строки? (Без процедур и функций.Сделать чисто через циклы).

Автор: mr.Anderson 8.12.2008, 22:17
Лови. Не проверял.
Код

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  A: Array [1..5, 1..8] Of Integer; //5 строк, 8 столбцов
  I, J, K: Integer;
  C: Boolean;

begin
  for I := 1 to 4 do //по строкам (можно 4 раза, 5-й лишний будет)
  begin
    for J := 1 to 5 do //снова по строкам
    begin
      if J = I then
        continue; //строку саму с собой сравнивать нечего

      C := True; //допустим, строки одинаковы

      for K := 1 to 8 do //по элементам строк, их равное количество, поэтому одного цикла хватит
          if A[I, K] <> A[J, K] then
          begin
            C := False;
            break;
          end;

      if C then
      begin
        WriteLn('There are equal strings.');
        ReadLn;
        exit;
      end;
    end;
  end;

  WriteLn('There are NO equal strings.');
  ReadLn;
end.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)