Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.05.2010, 10:59
hunt3r hunt3r вне форума
Прохожий
 
Регистрация: 21.05.2010
Сообщения: 1
Репутация: 9
По умолчанию ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ С ИСПОЛЬЗОВАНИЕМ МАССИВОВ

Код:
Unit UnMas;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Spin, Grids;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    Label8: TLabel;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    StringGrid3: TStringGrid;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    SpinEdit3: TSpinEdit;
    SpinEdit4: TSpinEdit;
    Label6: TLabel;
    Label7: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure SpinEdit1Change(Sender: TObject);
    procedure SpinEdit2Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
var
 A:array[1..6,1..8] of extended;// объявление двумерного массива A
 X:array[1..8] of extended;     // объявление одномерного массива X
 Y:array[1..6] of extended;     // объявление одномерного массива Y
 n,m,p,q:integer;                  // объявление глобальных переменных
procedure TForm1.FormCreate(Sender: TObject);
begin
 SpinEdit1.Text:='4';             // начальное значение n
 SpinEdit2.Text:='6';             // начальное значение m
 SpinEdit3.Text:='2';             // начальное значение p
 SpinEdit4.Text:='3';             // начальное значение q
 StringGrid1.RowCount:=4;    // количество строк массива A
 StringGrid1.ColCount:=6;    // количество столбцов массива A
 StringGrid2.RowCount:=6;    // количество строк массива X
 StringGrid3.RowCount:=4;    // количество строк массива Y
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
 n:=StrToInt(SpinEdit1.Text);// n присваивается содержимое поля редактора
 StringGrid1.RowCount:=n;    // устанавливается количество строк массива A
 StringGrid3.RowCount:=n;    // устанавливается количество строк массива Y
end;
procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
 m:=StrToInt(SpinEdit2.Text);// m присваивается содержимое поля редактора
 StringGrid1.ColCount:=m; // устанавливается количество столбцов массива A
 StringGrid2.RowCount:=m;   // устанавливается количество строк массива X
end;
procedure TForm1.Button1Click(Sender: TObject);
var
 i,j:integer;               // объявление локальных переменных
begin
 n:=StrToInt(SpinEdit1.Text);
 StringGrid1.RowCount:=n;
 StringGrid3.RowCount:=n;
 m:=StrToInt(SpinEdit2.Text);
 StringGrid1.ColCount:=m;
 StringGrid2.RowCount:=m;
 p:=StrToInt(SpinEdit3.Text);
 q:=StrToInt(SpinEdit4.Text);
// Ввод значений из таблицы в массив A
 for i:=1 to n do            
  for j:=1 to m do
   A[i,j]:=StrToFloat(StringGrid1.Cells[j-1,i-1]);
for j:=1 to m do   // формирование массива X и вывод его значений в таблицу
  begin
  X[j]:=A[p,j];
  StringGrid2.Cells[0,j-1]:=FloatToStrF(X[j],ffFixed,3,1);
  end;
for i:=1 to n do   // формирование массива Y и вывод его значений в таблицу
  begin
  Y[i]:=A[i,q];
  StringGrid3.Cells[0,i-1]:=FloatToStrF(Y[i],ffFixed,3,1);
  end;
end;
end.

решение похожей задачи. кто сможет переделать под эту: Задана символьная матрица размером NxM. Определить k-количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз).
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:26.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025