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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 16:10   #1
dyc9
Пользователь
 
Регистрация: 20.04.2013
Сообщений: 11
По умолчанию

Найти сумму элементов массива, принадлежащих промежутку от А до В (А и В вводятся с клавиатуры).

программа уже написана, не получается поставить условия для опеределения промежутка
Код:
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
function Strngrd_value_RND(Sender: TObject; n: integer): boolean;
var
  i: integer;
begin
  with Sender as TStringGrid do begin
    ColCount := n ;
    for i := 0 to ColCount - 1 do
      Cells[i, 0] := IntToStr(Random(1000));
  end;//with
end;//function Strngrd_value_RND
 
 
procedure TForm1.btn1Click(Sender: TObject);
type
  TM = array of integer;
var
  m: TM;
  a, b: Integer;
  i:integer;
  summ:integer;
begin
  SetLength(m, strtoint(edt3.Text));
 
  a := strtoint(edt1.Text);
  b := strtoint(edt2.Text);
 
  //считать в массив
  for i := low(m) to high(m) do
    m[i] := StrToint(strngrd1.Cells[i, 0]);
  //
  summ := 0;
  for i := low(m) to high(m) do if (a>=i) and (b<=i) then summ:=summ+m[i];
 
  lbl1.Caption :=intToStr(summ);
 
end;
 
procedure TForm1.edt1KeyPress(Sender: TObject; var Key: Char);
begin
  with (Sender as TEdit) do
  begin
    case Key of
    '0'..'9',#8: ; // цифра <Backspace>
 
    else Key := #0; // символ не отображать
    end;// case
  end; // with
end;
 
procedure TForm1.strngrd1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
#8,'0'..'9' : ; // цифры и клавиша <Backspace>
#13: // клавиша <Ener>
if Strngrd1.Col < Strngrd1.ColCount - 1
then Strngrd1.Col := Strngrd1.Col + 1;
else key := Chr(0); // остальные символы запрещены
end;
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  try
    if Strngrd_value_RND(Strngrd1, strtoint(edt3.Text)) then
      ShowMessage('Ахтунг! Strngrd1 заполнен случайными числами!');
  except
    ShowMessage('Ахтунг! ошибка обработки!');
  end;
end;
 
end.
ошибка скорее всего здесь, ну как исправить?


Код:
  summ := 0; 
  for i := low(m) to high(m) do if (a>=i) and (b<=i) then summ:=summ+m[i]; 
  
  lbl1.Caption :=intToStr(summ);

Последний раз редактировалось Stilet; 20.04.2013 в 21:27.
dyc9 вне форума Ответить с цитированием
Старый 20.04.2013, 16:52   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
for i := low(m) to high(m) do if (a<=m[i]) and (b>=m[i]) then summ:=summ+m[i];
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 20.04.2013, 17:17   #3
dyc9
Пользователь
 
Регистрация: 20.04.2013
Сообщений: 11
По умолчанию

подскажите, где по нажатию кнопки "Рандомное заполнение" задаются значения переменным A и B?

т.е программа считает нормально, если числа вводятся с клавиатуры, а если рандомно, то выдает ошибку потому что не могу задать для этого случая A и B

Последний раз редактировалось Stilet; 20.04.2013 в 21:28.
dyc9 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по Delphi 7: StringGrid с целыми числами, найти наибольшую суммы элементов столбцов или наибольшую суммы элементов строк Ard123 Помощь студентам 5 03.12.2012 01:10
Посчитать сколько месяцев указанный сотрудник получал заработную плату ниже указанной суммы foxkids94 Microsoft Office Excel 1 17.05.2012 09:28
Посчитать a.n.o.n.i.m Общие вопросы C/C++ 6 26.02.2012 23:13
Посчитать сумму foxy342 Помощь студентам 4 05.12.2010 19:12
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15