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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2020, 19:21   #1
Programust
Новичок
Джуниор
 
Регистрация: 18.02.2020
Сообщений: 4
По умолчанию Работа с двумерным массивом

Подскажите что я сделал не так. Сложно объяснить что это за программа. Задали в универе. Нужно создать двумерный массив, значения которого будут выводиться в TChart. Выходит ошибка при компиляции.
Код:
var
  Form1: TForm1;
  maxSmaz, smaz, ll, rr : real;
  kolSek, L, R, masSize, i, j : integer;
  a: array of array of real;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  maxSmaz:= strTofloat(edit1.Text);
  kolSek:= strToInt(edit2.Text);
  masSize:=kolSek*10;
  smaz:=maxSmaz/kolSek;
  setLength(a,kolSek, masSize);


  //Определяем границы L и R
  if odd(kolSek) then
  begin
  L:=Round(masSize/2-5);
  R:=L+10;
  end
  else
  begin
  L:=Round(masSize/2-10);
  R:=L+10;
  end;

  //Вводим массив
  for i := 0 to kolSek do
  begin
  for j := 0 to masSize do
  begin
    ll:=j;
    rr:=j+10+smaz;

    if (rr<L)or(ll>R) then
    a[i,j]:=0;
    if (ll<L)and(rr>L)and(rr<R) then
    a[i,j]:=(rr-L);
    if (ll>L)and (rr<R) then
    a[i,j]:=(ll-L)+(R-rr);
    if (ll<L)and(rr>R) then
    a[i,j]:=R-L;
    if (ll>L)and(ll<R)and(rr>R) then
    a[i,j]:=R-ll;
 //Series1.Add(a[i,j]);
 end;
 L:=L-Round(smaz);
 R:=R-Round(smaz);
 end;
end;
end.
Programust вне форума Ответить с цитированием
Старый 18.02.2020, 20:27   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,534
По умолчанию

Каково сообщение об ошибке?
На первый взгляд, параметры цикла i,j должны быть локальными в процедуре TForm1.Button1Click, т.е. в ней определены. Попробуй - вдруг зажурчит?

Последний раз редактировалось digitalis; 18.02.2020 в 20:30.
digitalis вне форума Ответить с цитированием
Старый 19.02.2020, 16:54   #3
Programust
Новичок
Джуниор
 
Регистрация: 18.02.2020
Сообщений: 4
По умолчанию

Всё равно не работает(
Изображения
Тип файла: jpg Ошибка.JPG (56.3 Кб, 15 просмотров)
Programust вне форума Ответить с цитированием
Старый 19.02.2020, 17:55   #4
Programust
Новичок
Джуниор
 
Регистрация: 18.02.2020
Сообщений: 4
По умолчанию

Всё решил! в цикле нужно было добавить "-1".
Код:
 for i := 0 to (kolSek-1) do
  begin
  for j := 0 to (masSize-1) do
Programust вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с двумерным массивом Umkaa Помощь студентам 1 23.12.2017 16:05
Работа с двумерным массивом vlada_kr Общие вопросы C/C++ 0 17.10.2017 21:16
Работа с двумерным массивом Arsenikum C# (си шарп) 2 13.07.2015 14:29
Работа с двумерным массивом naty7773 Помощь студентам 1 18.12.2012 12:38
Работа с двумерным массивом SaimaN Помощь студентам 0 16.03.2010 15:23