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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 20:30   #1
andrew_1
 
Аватар для andrew_1
 
Регистрация: 29.04.2011
Сообщений: 7
По умолчанию Создание программы по выполнению вычислительных операций над матрицами

на форме 2 едитки(в них вводится размерность матрицы и она создается при нажатии на баттон1), матрица создается в stringgrid1(первая матрица) и аналогично через другие две едитки(при нажатии на баттон2) создается вторая матрица в stringgrid2. Нужно например чтобы между матрицами стояло RadioGroup1 и в них выбиралось действия которое необходимо совершить с матрицей(+,-,*, и умножение на число(при выборе умножение на число создается едитка и туда вводим число или вводим просто в существующую едитку не имеет значения) и весь результат выводится в stringgrid3.

ну вообщем мне нужно чтобы написали код только для RadioGroup1 и как это все вывести в stringgrid3 и вычислить. помогите пожалуйста!!!
Все должно выглядеть приблизительно как на картинке.
Изображения
Тип файла: jpg 1.jpg (39.3 Кб, 130 просмотров)

Последний раз редактировалось andrew_1; 05.05.2011 в 20:36. Причина: Вставка картинки
andrew_1 вне форума Ответить с цитированием
Старый 06.05.2011, 22:27   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) картинка - это, конечно, зашибись!
Но вам код тут же, на картинке нарисовать?!
Давайте исходники проекта.

2) матрицы целочисленные или вещественные?!

3) умножить матрицу на число? А зачем тогда ДВЕ исходные матрицы?
ну и прочие операции (+ - *): расписывайте алгоритм вычитания/сложения/умножения матриц.

p.s. а вообще, я не понимаю, что у Вас вызывает затруднение?
Как получить, какая операция выбрана? или как сложить две ячейки (к примеру) из разных StringGrid и поместить результат в третий StringGrid ?!
так:
Код:
StringGrid3.Cells[j, i] :=FloatToStr( StrToFloat(StringGrid1.Cells[j,i]) + StrToFloat(StringGrid2.Cells[j,i]) );
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.05.2011, 15:42   #3
andrew_1
 
Аватар для andrew_1
 
Регистрация: 29.04.2011
Сообщений: 7
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button2: TButton;
    Edit6: TEdit;
    Edit7: TEdit;
    Button3: TButton;
    StringGrid2: TStringGrid;
    StringGrid3: TStringGrid;
    RadioGroup1: TRadioGroup;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  mas1,mas2:array of real;
  a:real;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 StringGrid1.FixedCols :=0;
  StringGrid1.FixedRows :=0;

  StringGrid1.ColCount := StrToInt(Edit1.Text);
  StringGrid1.RowCount := StrToInt(Edit2.Text);

  StringGrid1.Options := StringGrid1.Options + [goEditing];
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
with StringGrid1 do
SetLength(mas1, ColCount * RowCount);
with StringGrid2 do
SetLength(mas2, ColCount * RowCount);

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
    StringGrid2.FixedCols :=0;
  StringGrid2.FixedRows :=0;

  StringGrid2.ColCount := StrToInt(Edit6.Text);
  StringGrid2.RowCount := StrToInt(Edit7.Text);

  StringGrid2.Options := StringGrid2.Options + [goEditing];
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.
У меня вызывает затруднение как вывести все в stringGrid3, тут две матрицы потому что умножение матрицы на матрицу тоже должно выполнятся.

Нужно что бы при выборе в radiogroup1 +-* или *на число выполнялись соответственные действия.Я забыл в картинке той что там должно стоять умножение матриц тоже ну потому и две матрицы. Тут в коде куча ошибок потому что я всякую фигню пробовал сделать и случайно сохранил


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.05.2011 в 23:40.
andrew_1 вне форума Ответить с цитированием
Старый 19.05.2011, 19:48   #4
andrew_1
 
Аватар для andrew_1
 
Регистрация: 29.04.2011
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
1) картинка - это, конечно, зашибись!
Но вам код тут же, на картинке нарисовать?!
Давайте исходники проекта.

2) матрицы целочисленные или вещественные?!

3) умножить матрицу на число? А зачем тогда ДВЕ исходные матрицы?
ну и прочие операции (+ - *): расписывайте алгоритм вычитания/сложения/умножения матриц.

p.s. а вообще, я не понимаю, что у Вас вызывает затруднение?
Как получить, какая операция выбрана? или как сложить две ячейки (к примеру) из разных StringGrid и поместить результат в третий StringGrid ?!
так:
Код:
StringGrid3.Cells[j, i] :=FloatToStr( StrToFloat(StringGrid1.Cells[j,i]) + StrToFloat(StringGrid2.Cells[j,i]) );
да я сложил два stringgrid и поместил в 3-й но при нажатии на кнопку вычислить выбивает ошибку(все поля заполняю числами целыми)
вот ошибка:
Изображения
Тип файла: jpg 2011-05-19_184610.jpg (25.1 Кб, 96 просмотров)

Последний раз редактировалось andrew_1; 19.05.2011 в 19:57.
andrew_1 вне форума Ответить с цитированием
Старый 01.06.2011, 10:32   #5
andrew_1
 
Аватар для andrew_1
 
Регистрация: 29.04.2011
Сообщений: 7
По умолчанию

Вот сделал что хотел, может в дальнейшем кому-то поможет
Вложения
Тип файла: rar Дії з матрицями.rar (209.2 Кб, 15 просмотров)
andrew_1 вне форума Ответить с цитированием
Старый 19.11.2011, 17:09   #6
wolf_den
Пользователь
 
Регистрация: 28.10.2011
Сообщений: 14
По умолчанию

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте либу для (булевых) операций над полигонами Obey-Kun Общие вопросы C/C++ 1 13.11.2012 14:18
программа с процедурами операций над матрицами Лилея Помощь студентам 1 21.01.2011 20:15
Калькулятор над матрицами Олеся_92 Паскаль, Turbo Pascal, PascalABC.NET 2 16.05.2010 20:54
Графический калькулятор над матрицами Олеся_92 Помощь студентам 2 04.05.2010 18:10
Класс матриц, перегрузка операций с матрицами andros Помощь студентам 1 26.12.2008 19:49