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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2014, 01:51   #1
Otar4ik
Форумчанин
 
Регистрация: 16.04.2010
Сообщений: 123
По умолчанию Даны действительные числа a1,a2,..,a20,b1,b2,..,b20.

Даны действительные числа a1,a2,..,a20,b1,b2,..,b20.
Получить действительную матрицу [Cij] i=1,..,20; j=1,..,20. для которой Cij=aj/(1+|bi|)
Определить произведение всех отрицательных элементов матрицы.

Не могу понять куда надо вставить функцию и как определить отрицательные.Код приведёт ниже.


Код:
program lab4_2var;

uses
   GraphABC;

const
   a = 20;
   b = 20;

type
   stroka = array of integer;

var
   mas: array of stroka;
   n, m, i, j, c: integer;

procedure initgraph;
var
   i, j: integer;
begin
   writeln('введите кол-во строк');
   readln(n);
   writeln('введите кол-во столбцов');
   readln(m);
   setlength(mas, n);                      
   for i := 0 to n - 1 do
      setlength(mas[i], m); 
   for i := 0 to n - 1 do
      for j := 0 to m - 1 do
         mas[i, j] := a[j] / (1 + abs(b[ i ]));
end;

procedure otric;
var
   x, y, i, j, sm: integer;
begin
   sm := 0;
   for i := 0 to n - 1 do
   begin
      for j := 0 to m - 1 do
      begin
         if mass[i, j] < 0 then
            inc(sm);
      end;
   end;
   x := 10;
   y := 40;
   begin
      DrawRectangle(x, y, x + 50, y + 50);
      TextOut(10, 20, 'Произведение отрицательных');
      TextOut(x + 16, y + 16, sm.Tostring);
      x := x + 50;
   end;
   y := y + 50;
   x := 10;
end;


procedure print;
var
   x1, y1, i, j: integer;
begin
   window.clear;
   x1 := 10;
   y1 := 20;
   for i := 0 to n - 1 do
   begin
      for j := 0 to m - 1 do
      begin
         DrawRectangle(x1, y1, x1 + 50, y1 + 50);
         if i = j then
            font.color := clred
         else
            font.color := clblack;
         TextOut(x1 + 13, y1 + 16, mas[i, j].tostring);
         x1 := x1 + 50;
      end;
      y1 := y1 + 50;
      x1 := 10;
   end;
end;

procedure DobStroka;
var
   x1, y1, i, j: integer;
begin;
   n := n + 1;
   setlength(mas, n);                      
   setlength(mas[n - 1], m);
   for i := 0 to n - 1 do
      for j := 0 to m - 1 do
         mas[n - 1, j] := a[j] / (1 + abs(b[ i ]));
   print;
end;

procedure DobStolb;
var
   x1, y1, i, j: integer;
begin;
   m := m + 1;
   for i := 0 to n - 1 do                     
      setlength(mas[i], m);
   for i := 0 to n - 1 do
      for i := 0 to n - 1 do
         for j := 0 to m - 1 do
            mass[i, m - 1] := a[j] / (1 + abs(b[ i ]));
   print;
end;


procedure KeyDown(Key: integer);
begin
   case Key of
      VK_F1:
         begin
            DobStroka;
            print;
         end;
      VK_F2:
         begin
            dobstolb;
            print;
         end;
      VK_F3:
         begin
            otric;
            print;
         end;
   end;
end;

begin
   initgraph;
   print;
   onKeydown := keydown;
end.
Otar4ik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны действительные числа a1,...,a20. Получить числа b1,...,b20, где bi - среднее арифметическое членов a1 (Delphi) Altynai-93 Помощь студентам 4 12.12.2012 14:45
Даны натуральные числа k,n, действительные числа... (Pascal) Макс Мел Помощь студентам 0 04.06.2012 13:43
Даны действительные числа, олучить действительную квадратную матрицу порядка 8, элементы - числа расположенные по схеме Black_Limbo Помощь студентам 0 22.04.2012 17:06
Даны действительные числа a1,...,a20. Получить числа b1,...,b20, ... Alfa.Shadow Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2011 15:55
Даны действительные числа margarit Паскаль, Turbo Pascal, PascalABC.NET 0 13.01.2011 20:00