![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как мне задать двумерный массив с верхним индексом, взятым из текстового поля другой формы? (Нижний индекс - 0)
Т.е. массив мне нужен в Form1 (Unit1), а текстовое поле находится на Form2 (Unit2) |
#2
|
|||
|
|||
![]() Пользоваться динамическими массивами. Для задания размера используется процедура SetLength.
|
#3
|
|||
|
|||
![]() А можно поподробнее ?
|
#4
|
||||
|
||||
![]() Вот вам фантазмя на тему динамических массивов
![]() Код:
Var A: Array of Array of Integer; i: Integer; begin SetLength(A, 3); for i := 0 to High(A) do SetLength(A[i], i+1); end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
![]() непонятно, что вам нужно, чтобы границы массива менять можно было (ответы в постах #2, 3) или же как получить значение поля из другой формы.
если второе то добавляете модуль Unit2 в список используемых модулей Unit1 (открываете Unit1 - File - Use Unit - Unit2) обращаться к полю Form2.Edit.Text Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#6
|
|||
|
|||
![]() Unit2
Код:
public n: byte; ................... n := strtoint(Edit1.Text); Unit1 Код:
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Buttons, StdCtrls, Menus, Unit2; ........................... public fa: array[-1..n+1,-1..n+1] of byte; fanew: array[-1..n+1,-1..n+1] of byte; Массивы не задаются (Undeclared identifier), хотя переменная n - глобальная. В чем проблема? uses проставлены. |
#7
|
|||
|
|||
![]() Канечна, дарагой!!!
Нельзя задавать границу массива (при его описании) в виде переменной. можно только с помощью константы. Пользуй динамические массивы с задачей длинны в момент выполнения через SetLength. |
#8
|
|||
|
|||
![]() Все, разобрался, спасибо
![]() |
#9
|
|||
|
|||
![]() Помогите пож.с курсовой. Задача такова: дана квадратная матрица порядка n. Построить последовательность b1,b2,..,bn, в которой bi=1 тогда и только отгда, когда элементы i-й строки матрицы образуют возрастающую последовательность, иначе bi=0. пробовала сделать. Иногда правильно высчитывает, а в 30% ответ неверный. Помогите пож.
|
#10
|
||||
|
||||
![]() Код:
program Project1; {$APPTYPE CONSOLE} const n = 5; var a: array [1..n] of array [1..n] of Integer; b: array [1..n] of boolean; i, j: Integer; function IsV(x: Integer): Boolean; var i: Integer; begin Result:=True; for i:=2 to n do if a[x][i] <= a[x][i - 1] then Result:=False; end; begin Randomize; for i:=1 to n do begin for j:=1 to n do begin a[i][j]:=Random(100); Write(a[i][j]:3); end; Writeln; end; Writeln; for i:=1 to n do b[i]:=IsV(i); for i:=1 to n do Write(b[i], ' '); Readln; end. Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#11
|
|||
|
|||
![]() Спасибо большое, осталось только разобраться)))
|