Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2012, 11:39   #1
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию Несколько простых задач Pasca/Delphi

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


Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  type
     TArrayReal=array of array 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

    setlength(a,n,m);
      for y:=0 to n-1 do
      for X:=0 to m-1 do begin
      dec:=GetDEcl(max(x+1,y+1));
         a[x,y]:=(x+1)+(y+1)/dec;
      end;
    end;

   Procedure Display(a:TArrayReal);
   var I,x,y,n,m:integer;
   begin

      n:=Length(a);
      m:=Length(a[0]);
      i:=GetDEcl_I(max(n,m));
      for y:=0 to n-1 do begin
      writeln;
      for x:=0 to m-1 do begin
        write(a[x,y]:I:I,'   ');
      end;
      end;

   end;
begin
  N:=8;
  m:=8;
  CreateMas(a,n,m);
  Display(a);
  readln;
  { TODO -oUser -cConsole Main : Insert code here }


end.
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Старый 27.11.2012, 16:47   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Исходя из условий, можно решить так:

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
type
  Telem=record
    x,y:integer;
  end;
  TArrayReal=array of array of  Telem;
var
  A:TArrayReal;
  i,j,m,n:integer;
begin
  write('m= ');
  readln(m);
  write('n= ');
  readln(n);
  setlength(a,m,n);
  for i:=0 to m-1 do
    begin
      for j:=0 to n-1 do
        begin
          a[i,j].x:=i+1;
          a[i,j].y:=j+1;
          write(a[i,j].x,',',a[i,j].y,';');
        end;
      writeln;
    end;
  readln
end.
denisbrain, а что твой код делает? Точнее какое он имеет отношение к заданию?

P.S. на момент написания этого сообщения, задание звучит так:
Цитата:
1. Пусть задана матрица размером N строк на M столбцов (N<=100,M<=100). Необходимо составить матрицу, в которой все значения элементов являются их координатами расположения в матрице. Номер строки и номер столбца должен быть разделен запятой, элементы разделяются точкой с запятой.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько простых задач 1-го курса mykl Visual C++ 1 08.06.2012 12:19
несколько простых задач C++ mego4el Помощь студентам 3 15.02.2011 23:27
Несколько простых задач по делфи... Repac123456 Фриланс 4 24.10.2010 15:07
Несколько простых задач по JS maoK Помощь студентам 0 01.12.2009 20:33