Приветствую Вас Гость | RSS

Delphi заготовки

Вторник, 26.11.2024, 20:57
Главная » 2012 » Ноябрь » 27 » Задачи Delphi / Pascal матрицы
12:06
Задачи Delphi / Pascal матрицы

1.      Пусть задана матрица размером N строк на M столбцов (N<=100,M<=100). Необходимо составить матрицу, в которой все значения элементов являются их координатами расположения в матрице. Номер строки и номер столбца должен быть разделен запятой, элементы разделяются точкой с запятой.




program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  type
     TArrayReal=array [1..100,1..100] of  Real;


  var
    x,y:integer;
    a:TArrayReal;
    n,m:integer;

    Function Max(a,b:integer):integer; // находим максимальный среди двух элементов
    begin
       if a>b then result:=a
       else result:=b;
    end;


    Function GetDEcl(a:integer):integer; // порядок числа
    var i:integer;
        a1:real;
    begin
    i:=1;
    a1:=a;
     if a>0.9 then begin
      repeat
      a1:=a1/10;
      i:=i*10;
      until a1<0.9;
      result:=i;
      end
      else result:=1;
    end;

   Function GetDEcl_I(a:integer):integer; // порядок числа
    var i:integer;
        a1:real;
    begin
    i:=0;
    a1:=a;
     if a>0.9 then begin
      repeat
      a1:=a1/10;
      i:=i+1;
      until a1<0.9;
      result:=i;
      end
      else result:=1;
    end;

    Procedure CreateMas(var a:TArrayReal; const n,m:integer);
       var dec,x,y:integer;
    begin
      for y:=1 to n do
      for X:=1 to m do begin
      dec:=GetDEcl(max(x+1,y+1));
         a[x,y]:=(x+1)+(y+1)/dec;
      end;
    end;

   Procedure Display(a:TArrayReal;n,m:integer); // вывод матрицы на экран
   var I,x,y:integer;
   begin
      i:=GetDEcl_I(max(n,m));
      for y:=1 to n do begin
      writeln;
      for x:=1 to m do begin
        write(a[x,y]:I:I,'   ');
      end;
      end;
   end;
begin
  N:=8;
  m:=8;
  CreateMas(a,n,m);
  Display(a,n,m);
  readln;
  { TODO -oUser -cConsole Main : Insert code here }


end.

Просмотров: 1737 | Добавил: NetSoftWare | Теги: матрицы | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: