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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2011, 01:09   #1
Tikkimik
 
Регистрация: 12.06.2011
Сообщений: 3
По умолчанию К/работа тема массивы

Всем доброго времени суток. Буду благодарен если поможете найти и исправить в данной работе ошибки. Препод отшил сказал исправь и не возвращайся никогда! Вот такие вот дела.
Собственно задание к программе: Дан массив A(N) найти пару соседних элементов наиболее близко расположенных друг к другу . Мера близости
R = |A[i+1]-[i] |.

Код:
unit Unit1;                                                      

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
    M: array[1..10] of Integer;           // целочисленный массив из 10-ти элементов
    i: Integer;                                 // счетчик цикла
    n,R:Integer;                              // минимальная мера общности и текущая
    P:Integer;

procedure TForm1.Button1Click(Sender: TObject);
begin
   n:=10000000;                               // инициализация
   R:=0;                                         // текущая мера общности
   P:=-1;                                       // на данный момент таких нет
   Randomize;                                // инициализация генератора случайных чисел
   edit1.Text:='';                           // очистка текстового поля
   for i := 1 to 10 do                      // инициализация элементов массива в цикле
   begin
      M[i] := Random(100);
      edit1.Text := edit1.Text +', '+ IntToStr(M[i]);     // вывод в текстовое поле

   end;

   for i := 1 to 9 do                    // собственно решение
begin                                      // на каждом шаге провеверяем пару соседних элементов
      R := abs(M[i+1]-M[i]);          // ищем меру общности
      if (R<n) then                       // сравнивая её с текущей минимальной
      begin                                 // если находим, запоминаем
        n:=R;
        P:=i;                                 // запоминаем позицию лучшей пары
      end;

   end;

  if (P<>-1) then                       // вывод найденной наиболее близкой меры (с парой элементов)
    edit1.Text := edit1.Text + '  Результат: пара искомых элементов  ' + IntToStr(M[P+1]) + '  и  ' +   IntToStr(M[P]);


end;

end.
Tikkimik вне форума Ответить с цитированием
Старый 13.06.2011, 01:17   #2
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
исправь и не возвращайся никогда
И зачем тогда исправлять?
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 13.06.2011, 01:17   #3
Tikkimik
 
Регистрация: 12.06.2011
Сообщений: 3
По умолчанию

лабораторная 1.rar
Сама прога (Delphi 7)
Tikkimik вне форума Ответить с цитированием
Старый 13.06.2011, 01:19   #4
Tikkimik
 
Регистрация: 12.06.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Сtrl Посмотреть сообщение
И зачем тогда исправлять?
У него туго с юмором
Tikkimik вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
тема одномерные массивы. coolbaba Общие вопросы Delphi 7 09.02.2013 19:35
в delphi. тема массивы наташка-ромашка Помощь студентам 1 24.01.2011 19:30
Тема массивы boxxxer Помощь студентам 4 11.11.2010 21:58
Задачи на С++.Тема:Массивы Wia Помощь студентам 7 20.12.2008 16:01