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

ошибка при подсчете матриц

21.01.2017, 21:47. Просмотров 264. Ответов 1
Метки нет (Все метки)

Есть две матрицы А и В (3х3) надо сформировать матрицу С за этим условием С=А*2+В^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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Label1: TLabel;
    StringGrid2: TStringGrid;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    StringGrid3: TStringGrid;
    Label3: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
i,j,f,m,n,l,x,y,q:integer;
a,b,c,d:array[1..20,1..20] of real;
 
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
l:=2;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=StrToFloat(StringGrid1.Cells[i-1,j-1]);
for i:=1 to n do
for j:=1 to m do
b[i,j]:=a[i,j]*l;
for i:=1 to n do
for j:=1 to m do
begin
for x:=0 to StringGrid2.RowCount-1 do
for y:=0 to StringGrid2.ColCount-1 do
begin
q:=StrToInt(StringGrid2.Cells[x,y]);
c[i,j]:=(q*i);
begin
d[i,j]:=b[i,j]+c[i,j];
StringGrid3.Cells[i-1,j-1]:=FloatToStr(d[i,j]);
end;end;end;end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
m:=3;
n:=3;
stringgrid1.RowCount:=m;
stringgrid1.ColCount:=n;
for i:=0 to 10 do begin
for j:=0 to 10 do begin
a[i+1,j+1]:= random (70)-random (70);
StringGrid1.Cells[j,i]:= FormatFloat('0',a[i+1,j+1]);
StringGrid2.Cells[j,i]:= FormatFloat('0',a[i+1,j+1]);
end;
end;
end;
 
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2017, 21:47
Ответы с готовыми решениями:

Ошибка при подсчете
скажите как правильно записать выражение а то вылитает ошибка ...

Ошибка при подсчете формулы (Рекурсия)
Доброго времени суток! Программа вместо того чтобы суммировать значения в знаменателе, умножает...

Ошибка "is not a valid integer value" при подсчете сумму столбцов
heelp pliz вот горе проект

Ошибка в подсчете нечетных элементов в массиве
Сформировать из элементов матрицы одномерный массив, каждый элемент которого - это количество...

Некорректный вывод при подсчете суммы цифр целого числа
Подсчет суммы цифр 3 целых чисел, но при выборе даты и нажатия кнопки в Label4 выводится 0 ...

1
D1973
Модератор
3981 / 2861 / 1386
Регистрация: 21.01.2014
Сообщений: 12,189
Записей в блоге: 3
Завершенные тесты: 1
22.01.2017, 07:46 2
Цитата Сообщение от fimcha Посмотреть сообщение
какие допущенные ошибки в программе?
Чушь какая-то.
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, Math;
 
const L = 2; //Размер матрицы - 1
 
type
  TMatrix = array[0..L, 0..L] of Integer;
  TForm1 = class(TForm)
    sg_A: TStringGrid; sg_B: TStringGrid; sg_2A: TStringGrid; sg_B2: TStringGrid; sg_C: TStringGrid;
    btn_Load: TButton; btn_Rez: TButton;
    Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure btn_RezClick(Sender: TObject);
    procedure btn_LoadClick(Sender: TObject);
  private { Private declarations }
    A, B, C : TMatrix;
  public { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 Randomize;
end;
 
procedure TForm1.btn_LoadClick(Sender: TObject);
var i, j : integer;
begin
//Заполняем исходные массивы А и В и выводим на экран
 for i := 0 to L do
  for j := 0 to L do
   begin
    A[i, j] := RandomRange(-99, 100);
    B[i, j] := RandomRange(-99, 100);
    sg_A.Cells[j, i] := IntToStr(A[i, j]);
    sg_B.Cells[j, i] := IntToStr(B[i, j]);
   end;
 btn_Rez.Enabled := true;
end;
 
procedure TForm1.btn_RezClick(Sender: TObject);
var
 i, j, k : integer;
 A1, B1  : TMatrix;
begin
//Обнуляем временные и результирующий массивы
 FillChar(A1, SizeOf(A1), 0);
 FillChar(B1, SizeOf(B1), 0);
 FillChar(C, SizeOf(C), 0);
//Считаем и выводим А1 = А * 2
 for i := 0 to L do
  for j := 0 to L do
   begin
    A1[i, j] := 2 * A[i, j];
    sg_2A.Cells[j, i] := IntToStr(A1[i, j]);
   end;
//Считаем и выводим B1 = B^2
 for i := 0 to L do
  for j := 0 to L do
   for k := 0 to L do
    begin
     B1[i, j] := B1[i, j] + B[i, k] * B[k, j];
     sg_B2.Cells[j, i] := IntToStr(B1[i, j]);
    end;
//Считаем и выводим результирующую матрицу С
 for i := 0 to L do
  for j := 0 to L do
   begin
    C[i, j] := A1[i, j] + B1[i, j];
    sg_C.Cells[j, i] := IntToStr(C[i, j]);
   end;
end;
 
end.
1
Миниатюры
ошибка при подсчете матриц  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2017, 07:46

Дан текстовый файл. Вывести количество содержащихся в нем символов и строк (маркеры концов строк EOLN и конца файла EOF при подсчете количества символ
Дан текстовый файл. Вывести количество содержащихся в нем символов и строк (маркеры концов строк...

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

Ошибка #ЗНАЧ при подсчете значения
Приветствую всех. В ячейке A2 есть формула: =ЕСЛИ(A1=1;100;""). В ячейке A3 другая формула =A2+100....


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

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

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