Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 10
1

Массив: Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.

17.06.2013, 15:18. Показов 1437. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана матрица размера M x N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.
Помогите записать в VBA в Excel-е
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2013, 15:18
Ответы с готовыми решениями:

Преобразуйте массив, поменяв местами минимальный и максимальный элементы в каждой строке массива
Дан массив А(n,m). Преобразуйте массив, поменяв местами минимальный и максимальный элементы в...

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом
Ошибка в задаче. Может я что-то не дописал. Исправьте пожалуйста программу. Дана матрица B....

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно
Дана матрица B. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их...

Дан двумерный массив . Найти максимальный элемент в каждой строке
1 . Дан одномерный массив . Упорядочить его по возрастанию 2 . Дан одномерный массив целых чисел ,...

10
4 / 4 / 0
Регистрация: 28.01.2013
Сообщений: 17
17.06.2013, 17:26 2
пример матрицы в студию
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.06.2013, 17:43 3
Mожет, так попробовать? Мне кажется, работать будет.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub asdf()
   Dim cC As Range, mARR(), tmpARR(), newARR()
   Dim M&, N&, mV#, i&, j&, f&, a&, b&
      M = 5: N = 8
      ReDim mARR(1 To M, 1 To N)
      ReDim newARR(1 To M, 1 To N)
      Randomize
         For i = LBound(mARR, 1) To UBound(mARR, 1)
            ReDim tmpARR(1 To N): a = 0: b = 0
               For j = LBound(mARR, 2) To UBound(mARR, 2)
                  mARR(i, j) = Rnd * 899 + 100
                  newARR(i, j) = mARR(i, j)
                  tmpARR(j) = mARR(i, j)
               Next 'j
               mV = CDbl(Application.Max(tmpARR))
                  For f = LBound(tmpARR) To UBound(tmpARR)
                     If CDbl(tmpARR(f)) = CDbl(Application.Min(tmpARR)) And a = 0 Then
                        newARR(i, f) = mV: a = a + 1
                     End If
                     If CDbl(tmpARR(f)) = mV And b = 0 Then
                        newARR(i, f) = CDbl(Application.Min(tmpARR)): b = b + 1
                     End If
                     If a <> 0 And b <> 0 Then Exit For
                  Next 'f
         Next 'i
         With ActiveSheet
            .Cells.Delete
            .Cells(1, 1).Value = "Source ARRAY"
            .Cells(2, 1).Resize(UBound(mARR, 1), UBound(mARR, 2)).Value = mARR
               With .Cells(Rows.Count, 1).End(xlUp)
                  .Offset(3, 0).Value = "New ARRAY"
                  .Offset(4, 0).Resize(UBound(newARR, 1), UBound(newARR, 2)).Value = newARR
               End With
         End With
End Sub
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
17.06.2013, 18:57 4
Варианты перестановки max и min (но в столбцаx): Поменять местами мин. и макс. элементы в каждом столбце таблицы

Где-то я делал так, что переставляются все max и min (а не только первые попавшиеся). Пока не нашёл.
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.06.2013, 19:00 5
Я как раз поэтому и ввел "a" и "b", что б замена только раз. Убрать проверку по этим переменным - и будет до конца строки.
0
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 10
17.06.2013, 20:03  [ТС] 6
спасибо большое!!! а можно еще дополнить программу, чтобы пользователь вводил сколько нужно строк и столбцов, то есть окошко с запросом выскакивало?
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.06.2013, 20:12 7
А к какой именно?
0
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 10
17.06.2013, 22:02  [ТС] 8
ну сколько захочет пользователь, например 10 строк и 100500 столбцов ) напишет в окошке в этом и будет столько)
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.06.2013, 22:29 9
Нет, ну кто вот здесь не русский!!! Я спросил, для какой процедуры!!! Та, что я написал, или которую Sasha_Smirnov предложил?
0
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 10
18.06.2013, 00:08  [ТС] 10
как ты
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
18.06.2013, 08:05 11
Ну, если как я... (нет смайлика, где я очень-очень важный и очень-очень серьйозный)...
Тогда, вместо этого:
M = 5: N = 8
нужно записать вот это:
Visual Basic
1
2
3
4
M = CLng(InputBox("Input your COLUMNS", , 100500))
   i = ActiveSheet.Columns.Count: M = IIf(M > i, i, M)
N = CLng(InputBox("Input your ROWS", , 10))
   i = ActiveSheet.Rows.Count: N = IIf(N > i, i, N)
0
18.06.2013, 08:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2013, 08:05
Помогаю со студенческими работами здесь

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

Как преобразовать матрицу размера n x n, разделив каждый элемент матрицы на ее минимальный элемент
Помогите. Срочно. Составить программу преобразования матрицы размера n x n, разделив каждый...

В каждой строке матрицы найти максимальный элемент и заменить им первый элемент строки
В матрице Х(4,5) в каждой строке найти максимальный элемент и заменить им первый элемент строки....

Найти максимальный элемент в каждой строке матрицы
доброго времени суток! помогите пожалуйста разобраться с программой вводится массив 4*4 с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru