Страница: 1 |
Вопрос: помогите разобраться плз! | Добавлено: 08.06.08 11:07 |
Автор вопроса: ![]() |
нужно написать программу,которая создает матрицу с заданным числом строк и столбцов,а затем показывает все элемениы выше главной диагонали.
вот что у меня пока получилось:Option Explicit Option Base 1 Dim m As Long Dim n As Long Dim i As Long Dim a() As Long Dim j As Long Private Sub Command1_Click() m = Text1.Text n = Text2.Text ReDim a(m, n) As Long For i = 1 To m For j = 1 To n a(i, j) = Int(Rnd * 201 - 100) Print a(i, j) Next j Next i End Sub так вот,не знаю,как сделать вторую часть программы,понял только то,что надо укзать ,что j > i,а потом все это вывести на экран,вот только никак не получается(( еще хотелось бы узнать,как сделать,что бы это все было в виде матрицы,а не одим столбиком. все заранее спасибо! |
Ответы | Всего ответов: 10 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 24 Ответов: 363 |
Профиль | Цитата | #1 | Добавлено: 09.06.08 19:06 |
Абалдеть, и никто тебе не помог?!!!
Твой же код, немного правленный, отпечатает тока главную диагональ. Отступы сам выровняешь. Private Sub Command1_Click()
m = Text1.Text n = Text2.Text ReDim a(m, n) As Long For i = 1 To m For j = i To n a(i, j) = Int(Rnd * 201 - 100) Print a(i, j) & " "; Next j Next i End Sub |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 24 Ответов: 363 |
Профиль | Цитата | #2 | Добавлено: 09.06.08 19:07 |
отпечатает тока главную диагональ.
в смысле все что выше. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ICQ: ---- Вопросов: 1 Ответов: 5 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 09.06.08 20:27 |
s12,спасибо конечно,но я имел ввиду немного другое..
программа генерирует матрицу,выводит её на экран,а затем выводит числа этой матрицы,которые находятся выше диагонали. желательно,что бы это все было связанно с условием j>i.. я почти сделал,только программа рисует матрицу,где -1 - все числа,находящиеся выше диагонали и 0 - ниже.. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 24 Ответов: 363 |
Профиль | Цитата | #4 | Добавлено: 10.06.08 00:15 |
желательно,что бы это все было связанно с условием j>i..
Ну, гм.. приведенный выше пример как раз иллюстрирует условие j>=i я почти сделал,только программа рисует матрицу,где -1 - все числа,находящиеся выше диагонали и 0 - ниже..
Чтобы это могло значить :? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: adamis@list.ru Вопросов: 153 Ответов: 3632 |
Профиль | Цитата | #5 | Добавлено: 10.06.08 08:37 |
Абалдеть, и никто тебе не помог?!!!
Сильно занят был, да и код у него как ты справедливо заметил уже почти готов. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ICQ: ---- Вопросов: 1 Ответов: 5 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 10.06.08 09:58 |
s12,спасибо все сделал как надо).
вот что получилось: Option Explicit
Option Base 1 Dim m As Long Dim n As Long Dim i As Long Dim a() As Long Dim j As Long Dim b() As Long Private Sub Command1_Click() m = Text1.Text n = Text2.Text ReDim a(m, n) As Long For i = 1 To m For j = 1 To n a(i, j) = Int(Rnd * 201 - 100) Print a(i, j) & " "; Next j Next i End Sub Private Sub Command2_Click() For i = 1 To m For j = i To n a(i, j) = a(i, j) Print a(i, j) & " "; Next j Next i End Sub но есть еще пара вопросов: 1.Где же все-таки это условие,j>i ? 2.Как,например сделать,что бы выводилось все тоже самое,исключая главную диагональ,ведь она как раз не удовлетворяет условию j>i? заранее спасибо,я просто только начал осваивать VB,поэтому у меня такие нубские вопросы :D |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ICQ: ---- Вопросов: 1 Ответов: 5 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 10.06.08 14:27 |
уф ,вроде разобрался:
For i = 1 To m
For j = 1 To n If a(i, j) = a(i, j) And j > i Then Print a(i, j), ; Next j Next i End Sub всем спасибо))!но на счет 1.Где же все-таки это условие,j>i ? хотелось бы узнать ответ!
|
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: adamis@list.ru Вопросов: 153 Ответов: 3632 |
Профиль | Цитата | #8 | Добавлено: 10.06.08 15:04 |
If a(i, j) = a(i, j) And j > i Then строка должна выглядеть так: If j > i Then Print a(i, j), ; вот оно и условие j > i, в чём вопрос? |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ICQ: ---- Вопросов: 1 Ответов: 5 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 10.06.08 15:12 |
не,тут то все понятно,я имел ввиту,то,что написал s12:
Private Sub Command1_Click()
m = Text1.Text n = Text2.Text ReDim a(m, n) As Long For i = 1 To m For j = i To n a(i, j) = Int(Rnd * 201 - 100) Print a(i, j) & " "; Next j Next i End Sub |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ICQ: ---- Вопросов: 1 Ответов: 5 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 10.06.08 15:19 |
теперь абсолютно все понял :D
For j = i To n
спасибо всем! |
Страница: 1 |
|