Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

SaDFromSpb



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Program BlaBlaBLa;
Uses Crt;
 
Const
     N = 3;
 
Type
    Matrix = array[1..N, 1..N] Of Integer;
    PMatr  = ^Matrix;
 
 
Var
    Matr1, Matr2 : Matrix;
    i, j, count  : Integer;
    isEqual      : Boolean;
 
     
    {  
      Матрица передается в процедуру по адресу.
      Второй параметр - ширина матрицы
    }
    Procedure Transpan(Matr : PMatr; n : Integer);
       var i, j, t : Integer;
    Begin
       For i:=1 To n Do
           {Меняем местами i-й столбец с i-й строкой}
           For j:=i+1 To n Do Begin
               t := Matr^[i][j];
               Matr^[i][j] := Matr^[j][i];
               Matr^[j][i] := t;
           End;
    End;                  
 
 
 
 
Begin
clrscr;
 
 
{
 Заполняем две матрицы какой-нибудь ерундой
}
count := 1;
For j:=1 to N Do
    For i:=1 to N Do Begin
        Matr1[i][j] := count;
        Matr2[i][j] := 0;
        Inc(count);
    End;
 
 
{
  И кидаем вторую в процедуру
  (@ - операция взятия адреса)
}
 
Transpan(@Matr2, N);
 
 
 
{ сравниваем }
isEqual := true;
For i:=1 To N Do
    For j:=1 To N Do
        isEqual := isEqual And (Matr1[i][j] = Matr2[i][j]);
 
{
  isEqual после заверешения цикла останется равной true, только
  если матрицы одинаковые.
}
 
 
 
If isEqual Then
    Writeln('Ok.')
Else
    Writeln('Not Ok.');
 
 
readkey;
End.

Всего записей: 209 | Зарегистр. 22-06-2004 | Отправлено: 23:55 01-05-2006 | Исправлено: SaDFromSpb, 23:59 01-05-2006
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru