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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2011, 18:16   #1
affectus
 
Регистрация: 18.12.2010
Сообщений: 3
По умолчанию нужно проверить интерполяционным методом наличие элемента

в матрице 15 на 15, в 12 строке нужно проверить интерполяционным методом наличие элемента, элемент должен вводится в ручную
вот мои наброски, создание рандомной матрицы, и процесс поиска, но кусок поиска не могу вставить под мою матрицу, результат( есть ли данный элемент должен выводится
код:
Код:
unit Unit1;

interface

uses
  SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls, QForms,
  QDialogs, QStdCtrls, QGrids;

type
  TForm1 = class(TForm)
     StringGrid1: TStringGrid;
     Button1: TButton;
     Button2: TButton;
     Edit1: TEdit;
     Memo1: TMemo;
      procedure Button1Click(Sender: TObject);
      procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i: integer;
  j: integer;
  a: array [0..14] of integer;
  buf: integer;
  min:integer;

implementation

{$R *.xfm}
procedure TForm1.Button1Click(Sender: TObject);
begin


  for i:=0 to 14 do
    begin
    for j:=0 to 14 do
      begin
        StringGrid1.Cells[i, j]:= IntToStr(Random(100)-50);
      end;
    end;
    for i:=0 to 14 do
      a[i]:= StrToInt(StringGrid1.Cells[i, 0]);

 procedure Button2Click(Sender: TObject);
var
  obr,verh,sred,niz: integer;
  f: boolean;
begin
  Memo1.Text:='';
  if Edit1.Text<>'' then begin
    obr:=StrToInt(Edit1.Text);
    verh:=0;
    niz:=n;
    f:=false;
    repeat
      sred:=trunc(verh+((obr-a[verh])*(niz-verh)/(a[niz]-a[verh])));
      if CheckBox1.Checked then Memo1.Lines.Add('Значения: verh = '+IntToStr(verh)+'; niz = '+IntToStr(niz)+'; sred = '+IntToStr(sred));
      if a[sred]=obr then begin
        f:=true;
        Memo1.Lines.Add('Число найдено!!!');
      end;
      if obr<a[sred] then niz:=sred-1;
      if obr>a[sred] then verh:=sred+1;
    until (verh>niz) or f;
    if f=false then Memo1.Lines.Add('Число НЕ найдено!');
  end;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin

end;
и весь проект
affectus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить на наличие изображения Nikolay-1989 БД в Delphi 1 15.03.2011 08:21
Проверить наличие устройства Hulkus Помощь студентам 0 27.02.2011 23:50
Проверить на наличие ошибок (массивы в Си) foxy342 Помощь студентам 2 23.12.2010 23:56
Проверить наличие eng символов? alco84 Microsoft Office Access 4 08.04.2010 11:08
Проверить наличие запроса? alco84 Microsoft Office Access 2 25.03.2010 22:56