|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.12.2008, 20:56 | #1 |
Пользователь
Регистрация: 05.11.2008
Сообщений: 34
|
Алгоритмы работы с двумерными массивами
И снова здравствуйте!
Вот что у меня пока получается: Option Explicit Const NR = 6 Const NS = 6 Dim m(1 To NR, 1 To NS) As Double Private Sub Form_Load() Dim i As Byte, j As Byte For i = 1 To NR For j = 1 To NS If Not ((i = 1) And (j = 1)) Then Load Text1(i * 10 + j) Text1(i * 10 + j).Left = Text1(11).Left + Text1(11).Width * (j - 1) Text1(i * 10 + j).Top = Text1(11).Top + Text1(11).Height * (i - 1) End If Text1(i * 10 + j).Text = "0,0" Text1(i * 10 + j).Visible = True Next j Next i End Sub Но нужно к элементам k-го столбца прибавить соответствующие элементы j-го столбца. Как это вообще можно доделать. Подскажите |
02.12.2008, 00:05 | #2 |
Форумчанин
Регистрация: 06.11.2008
Сообщений: 100
|
Опиши задание. А то не понятно какой k-й столбец?
|
02.12.2008, 15:11 | #3 |
Пользователь
Регистрация: 05.11.2008
Сообщений: 34
|
В том то и дело что в задании так и написано: к элементам k-го сторлбца прибавить соответствующие элементы j-го столбца, тут я так думаю надо исделать дополнительно два текстбокса в которые ввводятся номера столбцов, а каждому столбцу присвоить номера, и сделать рядом еще столбец из текстбоксов, в который будет выводится то что получилось при складывании, еще естественно чтобы производить складывание нужно сделать кнопку, которая бы производила складывание этих двух заданных столбцов. Числа естественно в массив должны вводиться не в коде, а при работе программы, потом вводишь в два текстбокса номера столбцов и нажимаешь на кнопку они складываются, в еще одном столбце из текстбоксов появляется рязультат сложения столбцов, вот так я понял
Вот еще вчера вечером сидел думал, че-то получилось, но выдает ошибку Option Explicit Const NR = 6 Const NS = 6 Dim m(1 To NR, 1 To NS) As Double Dim y As Double Private Sub Form_Load() Dim i As Byte, j As Byte For i = 1 To NR For j = 1 To NS If Not ((i = 1) And (j = 1)) Then Load Text1(i * 10 + j) Text1(i * 10 + j).Left = Text1(11).Left + Text1(11).Width * (j - 1) Text1(i * 10 + j).Top = Text1(11).Top + Text1(11).Height * (i - 1) End If Text1(i * 10 + j).Text = "0,0" Text1(i * 10 + j).Visible = True Next j Next i End Sub Private Sub Command1_Click() i = CDbl(Text2.Text) j = CDbl(Text3.Text) y = i + j Const Nh = 6 Const Nl = 1 For i = 1 To Nh For j = 1 To Nl If Not ((i = 1) And (j = 1)) Then Load Text1(i * 10 + j) Text1(i * 10 + j).Left = Text1(11).Left + Text1(11).Width * (j - 1) Text1(i * 10 + j).Top = Text1(11).Top + Text1(11).Height * (i - 1) End If Text1(i * 10 + j).Text = "0,0" Text1(i * 10 + j).Visible = True Text4(4).Caption = y End Sub Вот кстати как должна выглядеть форма, токо там где text4 должен быть столбец, тоже недогоняю как его сваять. |
02.12.2008, 20:40 | #4 | |
Пользователь
Регистрация: 05.11.2008
Сообщений: 34
|
Цитата:
|
|
02.12.2008, 23:35 | #5 |
Форумчанин
Регистрация: 06.11.2008
Сообщений: 100
|
Я так понимаю, что в Text2 необходимовводить значение k-го столбца, а в Text3 - значение j-го столбца. Вместо Text4 нужно создать столбец с количеством элементов, равным количеству строк в матрице.
А дальше дело техники. Имея индексы k и j, складывайте соответствующие элементы этих столбцов и присваивайте результат столбцу. |
03.12.2008, 17:23 | #6 |
Пользователь
Регистрация: 05.11.2008
Сообщений: 34
|
Э... так я это понимаю, я не понимаю как сделать стобец, тупо копи-пастингом чтоли?
|
03.12.2008, 18:40 | #7 |
Пользователь
Регистрация: 05.11.2008
Сообщений: 34
|
|
03.12.2008, 23:19 | #8 |
Форумчанин
Регистрация: 06.11.2008
Сообщений: 100
|
В левом верхнем углу вашей формы расположены я, так понимаю, текстовые поля для отображения матрицы. Так вот с помощью тех же текстовых полей и создавайте столбец. Количество строк стобца д.б. равно количеству строк матрицы.
Если интересует как взять из массива элементы, сложить их и присвоить их новому столбцу, то это др. вопрос. Будут вопросы, задавайте, поподробнее! |
04.12.2008, 20:22 | #9 |
Пользователь
Регистрация: 05.11.2008
Сообщений: 34
|
Вот в том и дело я все точно также колпирую, только подставляю вместо Text1 Text4, а вместо индекса Text1 индекс Text4, пытаюсь получить хотя бы точно такую же матрицу, как в левом верхнем, но не хочет он ее строить.
Кстати в том тексте чтоя здесь представил, не закрыты два цикла For, исправил. |
04.12.2008, 21:53 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
А почему не сказано, на чём программируете?! ;-(
извините, мне кажется, по коду, что это VBA (или VB)... А под конкретно MS продукт эта форма?... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как работать с двумерными массивами через указатели? | pascalC | Общие вопросы C/C++ | 1 | 12.11.2008 08:33 |
использование процедур и функций для работы с массивами.....Паскаль.... | КиношкА | Помощь студентам | 6 | 13.01.2008 14:23 |
Работа с двумерными массивами | KJIOyH | Помощь студентам | 4 | 03.11.2007 20:03 |