Двумерный Массив (матрица) в Turbo Pascal

Автор работы: Пользователь скрыл имя, 18 Мая 2012 в 08:17, доклад

Краткое описание

Создать программу с процедурами. Первая процедура задает матрицу, представляемую двумерным массивом целых чисел типа Integer.
Размер матрицы 3х3, причем
элемент матрицы a[i,j] вычисляется по формуле: a[i,j] = с[i]-2* с[j], где с является одномерным массивом, представляемым вектором из трех элементов, значение которых вводит пользователь в главной программе.

Содержимое работы - 1 файл

Работа с двумерным массивом (матрицей) в Turbo Pascal.doc

— 27.50 Кб (Скачать файл)

Создать программу  с процедурами. Первая процедура  задает матрицу, представляемую двумерным  массивом целых чисел типа Integer.

Размер матрицы 3х3, причем  

элемент матрицы a[i,j]  вычисляется по формуле: a[i,j] = с[i]-2* с[j], где с является одномерным массивом, представляемым вектором из трех элементов, значение которых вводит пользователь в главной программе.  

Включить в программу  еще две процедуры, которые выводят  элементы вектора с и матрицы  а на экран.  

Добавить в задачу  функцию, которая находит сколько отрицательных элементов находится в каждой строке матрицы и их индексы (использовать побочный эффект функции) 

program praktika_14_a;

uses crt;

var

   a:array [1..3] of array [1..3] of integer;

   c:array [1..3] of integer;

   IndexI:array [1..3] of integer;

   var i,j,p,k,kk: integer;

   procedure Matrix(MassOfVektor:array of integer);

   begin

   for i:=1 to 3 do

   for j:=1 to 3 do

   a[i,j]:=c[i]-(2*c[j]);

   end; 

   procedure Vektor(MassofVektor: array of integer);

   begin

   for i:=1 to 3 do begin

   write('Vvedite ',i,'-j element vektota: ');

   readln(c[i]);

   end;end; 

   procedure MatrixIS;

   begin

   for i:=1 to 3 do begin

   writeln;

   for j:=1 to 3 do

   write(a[i,j],' ');

   end;

   end; 

   procedure VektorIS;

   begin

   for i:=1 to 3 do

   write(c[i],' ');

   end; 

    function f(NomerStroki:integer): integer;

    var l,u,o:integer;

    begin

    k:=0;

    u:=NomerStroki;

    for l:=1 to 3 do begin;

    IndexI[l]:=0;

    o:=a[u,l];

    if o<0 then begin

    k:=k+1;

   IndexI[l]:=l;

    end; end; end; 

begin

  Vektor(c);

  Matrix(c);

  clrscr;

  writeln('  Matrica:');

  MatrixIS;

  writeln;writeln;

  writeln('  Vektor:');

  VektorIS;

  writeln;writeln;

  for p:=1 to 3 do begin

  f(p);

  write('v ',p,'-oj stroke ',k,' oricatelnih simvol., ih indexi: ');

  for i:=1 to 3 do begin

  kk:=IndexI[i];

  if kk>0 then

  write(kk,' ') 

  end;

  writeln;

  end;

  readln;

  end.


Информация о работе Двумерный Массив (матрица) в Turbo Pascal