Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Поможите чем сможите!


Автор: Гарри 29.5.2004, 00:01
Задан массив А= {Aij} i=1,10 j=1,20 Составьте программу поиска максимального элемента массива А и записи нулей в ту строку и в тот столбец где он находится

воть, помогите народ!!!*)))

Автор: Guest 29.5.2004, 00:46
да совсем забыл!
В Visual Basik *))))))

Автор: cardinal 29.5.2004, 01:09
Модератор: Название темы должно отражать ее суть!

Автор: REVOLT 2.6.2004, 21:41
Цитата
В Visual Basik *))))))

Не K, а С! wink.gif

Автор: Kurt 2.6.2004, 22:35
Ну, если очень надо..
Мало ли какие у человека проблемсы.. smile.gif
Вот. Я тебе написал, тока я в VB понимаю мало, так что, извиняй, если где ошибся..

Код

   Dim A(1 To 10, 1 To 20) As Integer 'наш массив
   For i = 1 To 10
       For j = 1 To 20
           A(i, j) = Int((300 * Rnd) + 1) 'заполняем его случ. числами от 1 до 300
       Next j
   Next i
   Dim max As Integer  'здесь будем хранить максимум
   Dim k, l As Integer  'номер строки и столюца максимума
   max = A(1, 1) 'в начале присваиваем максимуму первый эл-т
   k = 1
   l = 1
   For i = 1 To 10
       For j = 1 To 20
           If (A(i, j) > max) Then 'если нашли бОльший эл-т..
               max = A(i, j)
               k = i
               l = j
           End If
       Next j
   Next i
   
   For i = 1 To 10 'зануляем соотв. столбец
       A(i, l) = 0
   Next i
   
   For j = 1 To 20
       A(l, j) = 0 '..и строку
   Next j

'все. в max находится максимум


Удачи!

Автор: cardinal 2.6.2004, 22:56
Я думал кто-нибудь напишет...

Вот пример:
Код
Private Sub Command1_Click()
Dim massiv(1 To 10, 1 To 20) As Integer
Dim biggest As Integer ' наибольший элемент двумерного массива
Dim smallest As Integer ' наименьший элемент двумерного массива

Dim bi As Integer
Dim bj As Integer

Dim si As Integer
Dim sj As Integer

' заполняем двумерный массив
Randomize
For i = 1 To 10
   For j = 1 To 20
       massiv(i, j) = Rnd * 100 ' 0 <= Rnd <= 1
   Next
Next

' начальные значение
biggest = massiv(1, 1)
smallest = massiv(1, 1)

' ищем наименьший и наибольший элементы
For i = 1 To 10
   For j = 1 To 20
       If massiv(i, j) > biggest Then
           biggest = massiv(i, j)
           bi = i
           bj = j
       End If
       If massiv(i, j) < smallest Then
           smallest = massiv(i, j)
           si = i
           sj = j
       End If
   Next
Next
Debug.Print "i = " & bi & ", " & "j = " & bj & " " & biggest
Debug.Print "i = " & si & ", " & "j = " & sj & " " & smallest
End Sub

Засуну в FAQ заодно как пример.
Добавлено @ 22:57
Kurt, ты меня опередил. Думал никто человеку не поможет и сам написал тоже smile.gif. Пусть теперь выбирает smile.gif

Автор: Guest 19.12.2005, 00:53
smile smile

Автор: Exception 19.12.2005, 01:10
Kurt, ты Randomize забыл smile . Каждый раз одинаковые числа генерятся

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)