Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
al13
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 1
1

программа с функцией

19.01.2012, 23:28. Просмотров 952. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста составить прогу в делфи7: вобщем нужно составить программу с функцией которая перемножала бы две матрицы а в результат выводила третью! я знаю что она не сложная но я не могу додуматься, заранее благодарен.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2012, 23:28
Ответы с готовыми решениями:

программа для поиска последовательности с минимальной функцией штрафа!
Работаю с этой средой недавно, поэтому прошу помощи. подскажи принцип работы этой программки. И...

Программа с функцией
Здравствуйте! Помогите пожалуйста найти и исправить ошибки. Написать программу, которая использует...

Программа с функцией
Ребята у меня тут программа в которой используется функция и цикл. Ну она не работает, она должна...

Программа с функцией (2)
Задание 4. Написать программу с функцией: а) Написать программу подсчета количества отрицательных...

Программа с функцией
Задание 3. Написать программу с функцией: а) Написать функцию для расчета факториала данного...

1
Puporev
Модератор
58043 / 44167 / 30510
Регистрация: 18.05.2008
Сообщений: 105,754
20.01.2012, 08:41 2
Лучший ответ Сообщение было отмечено как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Spin, Grids;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    Label1: TLabel;
    Label2: TLabel;
    SpinEdit3: TSpinEdit;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    StringGrid3: TStringGrid;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
type matr=array of array of integer;//тип матриц
var  a,b,c:matr;//матрицы
     m,n,k:integer;//размеры
implementation
 
{$R *.dfm}
//функция произведения матриц
function  Umn(a,b:matr):matr;
var i,j,p:integer;
begin
Setlength(result,m,k);//выделим память под результат
for p:=0 to m-1 do //по кл. строк 1 матрицы
for j:=0 to k-1 do //по количеству столбцов 2 матрицы
   begin
     result[p,j]:=0;
     for i:=0 to n-1 do //сумма произведений элементов строк
 //1 матрицы на элементы соответствующих столбцов 2 матрицы
     result[p,j]:=result[p,j]+a[p,i]*b[i,j];
   end;
end;
//установим некоторые параметры таблиц
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.FixedCols:=0; //фикс. столбцы и строки
StringGrid1.FixedRows:=0;
StringGrid1.DefaultColWidth:=25;//ширина столбцов
StringGrid2.FixedCols:=0;
StringGrid2.FixedRows:=0;
StringGrid2.DefaultColWidth:=25;
StringGrid3.FixedCols:=0;
StringGrid3.FixedRows:=0;
StringGrid3.DefaultColWidth:=35;
end;
//создание исходных матриц
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
randomize;
if(SpinEdit1.Value=0) or (SpinEdit2.Value=0)then
 begin
  ShowMessage('Вы не ввели размеры матриц');
  exit;
 end;
m:=SpinEdit1.Value; //размеры
n:=SpinEdit2.Value;
k:=SpinEdit3.Value;
Setlength(a,m,n);//выделим память
Setlength(b,n,k);
StringGrid1.RowCount:=m; //размеры таблиц
StringGrid1.ColCount:=n;
StringGrid2.RowCount:=n;
StringGrid2.ColCount:=k;
for i:=0 to m-1 do //матрица 1
for j:=0 to n-1 do
 begin
  a[i,j]:=random(10);
  StringGrid1.Cells[j,i]:=IntToStr(a[i,j]);
 end;
for i:=0 to n-1 do//матрица 2
for j:=0 to k-1 do
 begin
  b[i,j]:=random(10);
  StringGrid2.Cells[j,i]:=IntToStr(b[i,j]);
 end;
end;
//умножение
procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
begin
Setlength(c,m,k);//выделим память под итоговую матрицу
StringGrid3.RowCount:=m; //размеры таблицы
StringGrid3.ColCount:=k;
c:=Umn(a,b);//вызов функции
for j:=0 to k-1 do//вывод результата
for i:=0 to m-1 do
StringGrid3.Cells[j,i]:=IntToStr(c[i,j]);
end;
 
end.
0
Вложения
Тип файла: rar Умножение прямоугольных матриц.rar (204.9 Кб, 8 просмотров)
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2012, 08:41

Программа с функцией самоликвидации
Как удалить EXE файл программы из неё же? Это возможно, я видел решение на vb6

Простая программа с функцией
Народ, выручайте \ нужно написать программу с какой нибудь функцией !!!

Программа с функцией pow.
Всем привет. Суть задачи в том,что из данного файла записать в переменную число,которое находится...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.