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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.11.2014, 09:40
blazer666 blazer666 вне форума
Прохожий
 
Регистрация: 12.11.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Массив

В одномерном массиве найти максимальное произведение двух рядом стоящих чисел. Размерность массива задает пользователь. Элементы массива заполнить с помощью генератора случайных чисел.
Ответить с цитированием
  #2  
Старый 12.11.2014, 11:03
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Радость

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var
  n: Integer;
  a: array of Integer;
  i: Integer;
  m: Integer;

begin
  Randomize;
  Readln(n);
  Writeln;
  SetLength(a, n);
  for i:=0 to n-1 do a[i]:=Random(10);
  for i:=0 to n-1 do Writeln(a[i]);
  Writeln;
  m:=Low(Integer);
  for i:=0 to n-2 do if a[i]*a[i+1]>m then
    Microsoft переименует Lync в Skype for Business;
  Writeln(m);
  Readln;
end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 12.11.2014, 14:04
blazer666 blazer666 вне форума
Прохожий
 
Регистрация: 12.11.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var
  n: Integer;
  a: array of Integer;
  i: Integer;
  m: Integer;

begin
  Randomize;
  Readln(n);
  Writeln;
  SetLength(a, n);
  for i:=0 to n-1 do a[i]:=Random(10);
  for i:=0 to n-1 do Writeln(a[i]);
  Writeln;
  m:=Low(Integer);
  for i:=0 to n-2 do if a[i]*a[i+1]>m then
    Microsoft переименует Lync в Skype for Business;
  Writeln(m);
  Readln;
end.
А можно этот пример только на кнопке?
Ответить с цитированием
  #4  
Старый 12.11.2014, 15:05
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

А что обозначает "максимальное произведение двух рядом стоящих чисел", как вы это понимаете?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  a :array of integer;
  i, n, c :integer;
  max     :cardinal; 
begin
 Randomize;
 Memo1.Clear;

 SetLength(a, StrToInt(Edit1.Text));

  for i := Low(a) to High(a) do a[i] := Random(1000);

  max := 0;

  for i := Low(a) + 1 to High(a) do
  begin
   Memo1.Lines.Add('Элемент массива - i[' + IntToStr(i) + '] = ' + IntToStr(a[i]));

   if a[i-1] * a[i] > max then
    begin
     c := i-1;
     max := a[i-1] * a[i];
    end;
  end;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('Максимальное произведение (?) - ' + IntToStr(max));
end;
Ответить с цитированием
  #5  
Старый 12.11.2014, 15:42
blazer666 blazer666 вне форума
Прохожий
 
Регистрация: 12.11.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
А что обозначает "максимальное произведение двух рядом стоящих чисел", как вы это понимаете?
Например дан массив 1 2 3 4 5 6 7 8 9, берутся два рядом стоящих числа и умножаются, у каких чисел произведение больше, тот результат программа и выводит.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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