Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: помогите разобраться плз! Добавлено: 08.06.08 11:07  

Автор вопроса:  BullDozer | Web-сайт: ----- | ICQ: ---- 
нужно написать программу,которая создает матрицу с заданным числом строк и столбцов,а затем показывает все элемениы выше главной диагонали.
вот что у меня пока получилось: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
Print
Next i
End Sub

так вот,не знаю,как сделать вторую часть программы,понял только то,что надо укзать ,что j > i,а потом все это вывести на экран,вот только никак не получается((
еще хотелось бы узнать,как сделать,что бы это все было в виде матрицы,а не одим столбиком.
все заранее спасибо!

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 s12



Вопросов: 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
Print
Next i
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #2 Добавлено: 09.06.08 19:07
отпечатает тока главную диагональ.

в смысле все что выше.

Ответить

Номер ответа: 3
Автор ответа:
 BullDozer



ICQ: ---- 

Вопросов: 1
Ответов: 5
 Web-сайт: -----
 Профиль | | #3
Добавлено: 09.06.08 20:27
s12,спасибо конечно,но я имел ввиду немного другое..
программа генерирует матрицу,выводит её на экран,а затем выводит числа этой матрицы,которые находятся выше диагонали.
желательно,что бы это все было связанно с условием j>i..
я почти сделал,только программа рисует матрицу,где -1 - все числа,находящиеся выше диагонали и 0 - ниже..

Ответить

Номер ответа: 4
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #4 Добавлено: 10.06.08 00:15
желательно,что бы это все было связанно с условием j>i..

Ну, гм.. приведенный выше пример как раз иллюстрирует условие j>=i

я почти сделал,только программа рисует матрицу,где -1 - все числа,находящиеся выше диагонали и 0 - ниже..

Чтобы это могло значить :?

Ответить

Номер ответа: 5
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #5 Добавлено: 10.06.08 08:37
Абалдеть, и никто тебе не помог?!!!

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

Ответить

Номер ответа: 6
Автор ответа:
 BullDozer



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
Print
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
Print
Next i
End Sub


но есть еще пара вопросов:
1.Где же все-таки это условие,j>i ?
2.Как,например сделать,что бы выводилось все тоже самое,исключая главную диагональ,ведь она как раз не удовлетворяет условию j>i?

заранее спасибо,я просто только начал осваивать VB,поэтому у меня такие нубские вопросы :D

Ответить

Номер ответа: 7
Автор ответа:
 BullDozer



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
Print
Next i
End Sub


всем спасибо))!но на счет
1.Где же все-таки это условие,j>i ?
хотелось бы узнать ответ!

Ответить

Номер ответа: 8
Автор ответа:
 Smith



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
Автор ответа:
 BullDozer



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
Print
Next i
End Sub

Ответить

Номер ответа: 10
Автор ответа:
 BullDozer



ICQ: ---- 

Вопросов: 1
Ответов: 5
 Web-сайт: -----
 Профиль | | #10
Добавлено: 10.06.08 15:19
теперь абсолютно все понял :D
For j = i To n

спасибо всем!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам