Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 314

/ вопрос открыт /

Приветствую, уважаемые эксперты!
помогите решить пожалуйста простенькую задачку =)
Найти наибольшую сумму соседних элементов в массиве:
Z = (0.21,-1.6,3.15,21.9,4.18,12.9,-2.3,7.2,4.5,6.8,9.21,1.7,7.9,-2.4)

SniEr Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SniEr (статус: Посетитель)
Вопрос отправлен: 14 июня 2010, 14:02
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Ну вот как-то так:

// Найти наибольшую сумму соседних элементов в массиве
function GetMaxSum(): Integer;
const
  N = 14;
  Z: array[0..N - 1] = (0.21, -1.6, 3.15, 21.9, 4.18, 12.9,
                        -2.3, 7.2, 4.5, 6.8, 9.21, 1.7, 7.9, -2.4);
var
  Index, Temp: Integer;
begin
  Result:= -MAXINT; // По умолчанию
 
  for Index:= 0 to (N - 1) div 2 do
    begin
      Temp:= Z[2 * Index] + Z[2 * Index + 1];
      if Temp > Result
        then Result:= Temp;
    end;
end;

З.Ы. АХТУНГ! Код не отлаживал, писал на коленке! Возможны баги!

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 14 июня 2010, 14:33


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 14 июня 2010, 17:02; участников в обсуждении: 3.
Толяныч

Толяныч (статус: 4-ый класс), 14 июня 2010, 16:11 [#1]:

А зачем так замысловато и, как мне кажется, неправильно?
Ведь, к примеру, -1.6 соседствует не только с 0.21, но и с 3.15 . А так перебор получается по паре значений, чего в условии не было.
SniEr

SniEr (статус: Посетитель), 14 июня 2010, 16:12 [#2]:

блин мне в консоли делфи надо было((
min@y™

min@y™ (статус: Доктор наук), 14 июня 2010, 16:45 [#3]:

Цитата (SniEr):

блин мне в консоли делфи надо было((

Ну и в чём проблема-то? Бер функцию и вставляй в программу.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SniEr

SniEr (статус: Посетитель), 14 июня 2010, 17:02 [#4]:

хех решил в итоге сам , вот какой код получился у меня =)
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
Z:array[1..14] of real =(0.21, -1.6, 3.15, 21.9, 4.18, 12.9,-2.3, 7.2, 4.5, 6.8, 9.21, 1.7, 7.9, -2.4) ;
max:real;
i,n:integer;
begin
max:=-100;
for i:=1 to 13 do
if z[i]+z[i+1]>max then max:=z[i]+z[i+1];
writeln(max);
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.

14 июня 2010, 21:49: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Алгоритмы, преобразования модератором Ерёмин А.А.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:42
Выполнено за 0.03 сек.