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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2010, 19:21   #1
KnighTeX
Пользователь
 
Регистрация: 03.10.2009
Сообщений: 20
Восклицание (2) Создание программ!!!

3. Обработка массивов.
Задача: создать программу для определения вектора:
,
где А - квадратная матрица, а Y, B - одномерные массивы.
Элементы вектора Y определяются по формуле;
.
Значение N вводить в компонент Tedit, А и В - в компонент TStringGrid. Результат, после нажатия кнопки типа TButton, вывести в компонент TStringGrid.
Панель диалога приведена на рис.1
н.png
Unit Lab4;
Interface
Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids;
type
TInputForm = class (TForm)
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
StringGrid3: TStringGrid;
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Procedure FormCreate (Sender: TObject);
Procedure Button1Click (Sender: TObject);
Procedure Button2Click (Sender: TObject);
private
(Private declarations)
public
(Public declarations)
end;

const
Nmax = 10; / / Максимальная размерность массива
type
Mas1 = array [1 .. Nmax] of Extended;
/ / Объявление типа одномерного массива
Mas2 = array [1 .. Nmax, 1 .. Nmax] of Extended; / / Объявления типа двумерного массива
var
InputForm: TInputForm;
A: Mas2; / / Объявления двумерного массива
B, Y: Mas1; / / Объявления одномерных массивов
N, i, j: integer;

Implementation
($ R *. DFM)

Procedure TInputForm.FormCreate (Sender: TObject);
begin
N: = 3; / / Размерность массива
Edit1.Text: = FloatToStr (N);
/ / Задание числа строк и столбцов
StringGrid1.ColCount: = N 1;
StringGrid1.RowCount: = N 1;
StringGrid2.RowCount: = N 1;
StringGrid3.RowCount: = N 1;
/ / Введение в левую верхнюю каморку таблицы названия массива
StringGrid1.Cells [0, 0]: = 'Массив А';
StringGrid2.Cells [0, 0]: = 'Массив В';
StringGrid3.Cells [0, 0]: = 'Массив В';
/ / Заполнение верхнего и левого столбиков подписями, объясняющих
for i: = 1 to N do
begin
StringGrid1.Cells [0, i]: = 'i =' IntToStr (i);
StringGrid1.Cells [i, 0]: = 'j =' IntToStr (i);
end;
end;

Procedure TInputForm.Button1Click (Sender: TObject);
begin
N: = StrToInt (Edit1.Text.
/ / Задача числа строк и столбцов в таблицах
StringGrid1.ColCount: = N 1;
StringGrid1.RowCount: = N 1;
StringGrid2.RowCount: = N 1;
StringGrid3.RowCount: = N 1;
/ / Заполнение верхнего и левого столбиков подписями, объясняющих
for i: = 1 to N do
begin
StringGrid1.Cells [0, i]: = 'i =' IntToStr (i);
StringGrid1.Cells [i, 0]: = 'j =' IntToStr (i);
end;
end;

Procedure TInputForm.Button2Click (Sender: TObject);
var
s: extended;
begin
/ / Заполнение массива A элементами из тавлици StringGrid1
for i: = 1 to N do
for j: = 1 to N do
A [i, j]: = StrToFloat (StringGrid1.Cells [j, i]);
/ / Заполнение массива B элементами из тавлици StringGrid2
for и: = 1 to N do
B [и]: = StrToFloat (StringGrid2.Cells [0, и]);
/ / Умножение массива A на массив B
for i: = 1 to N do
begin
s: = 0;
for j: = 1 to N do
s: = s A [i, j] * B [j];
Y [i]: = s;
/ / Вывод результата в таблицу StringGrid3
StringGrid3.Cells [0, i]: = FloatToStrF (Y [i], ffFixed, 6,2);
end;
end;
end.
Задание: Задано матрицу размером. Получить массив B, присвоив его k-м элементу значение 1, если k-я строка матрицы симметричный, и значение 0 в противном случае.
Изображения
Тип файла: gif г.gif (2.3 Кб, 87 просмотров)
KnighTeX вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание программ на заказ!!! Xataby4 Фриланс 11 25.09.2010 19:40
Создание программ!!! KnighTeX Фриланс 6 23.06.2010 12:00
Создание программ в делфи rudolf Помощь студентам 10 08.12.2009 22:10
Создание многоязыковых программ ds.Dante Общие вопросы .NET 8 18.08.2009 10:51
Создание программ ]Wowan[ Фриланс 4 22.05.2009 14:13