Другие языки программирования и технологии
помогите сделать лабу в VBA, по темам, "Матрицы" и "одномерные массывы"
Задание 1.:В массиве А определить минимальное и максимальное значения и их порядковые номера. Определить количество повторяющихся значений. Исходные данные:А=( -7; 5; 0; 5; -7; 8; 5; 9; 1; 5) Требования к представлению исходных данных и результатов: Вывести исходный массив А в строку, а результаты в столбец ________________________________________________________________________________________ Задание 2. : Найти в каждой строке матрицы max и min элемент и заменить max на 1, а min -0 Матрица: F(4,4)
как обычно - отвечаю на 1 вопрос)) )
Sub ppp()
Dim A(10)
Cells.ClearContents
min_A = A(1) ' для начала назначим минимум
max_A = A(1) ' и максимум
nn = 3 ' c этой строки выводим результаты в 1-й столбец
A(1) = -7
A(2) = 5
A(3) = 0
A(4) = 5
A(5) = -7
A(6) = 8
A(7) = 5
A(8) = 9
A(9) = 1
A(10) = 5
For ii = 1 To 10
Cells(1, ii) = A(ii) ' выводим массив в строку
If A(ii) < min_A Then ' а вдруг минимум ?
min_A = A(ii)
End If
If A(ii) > max_A Then ' а вдруг максимум
max_A = A(ii)
End If
Cells(ii + nn, 1) = A(ii) ' заполним данные повторений
Cells(ii + nn, 2) = 1
For kk = ii + 1 To 10
priz = False ' признак что это число мы ужеобрабатывали
For ll = 1 To ii - 1
If A(ii) = A(ll) Then
priz = True ' вот тут мы увидели повтор обработки
Exit For
End If
Next ll
If priz Then
Cells(ii + nn, 1) = ""
Cells(ii + nn, 2) = ""
Exit For
End If
If A(ii) = A(kk) Then
Cells(ii + nn, 2) = Cells(ii + nn, 2) + 1 ' вот тут наращиваем повторения
End If
Next kk
Next ii
End Sub
вот как выглядит результат работы макроса

Sub ppp()
Dim A(10)
Cells.ClearContents
min_A = A(1) ' для начала назначим минимум
max_A = A(1) ' и максимум
nn = 3 ' c этой строки выводим результаты в 1-й столбец
A(1) = -7
A(2) = 5
A(3) = 0
A(4) = 5
A(5) = -7
A(6) = 8
A(7) = 5
A(8) = 9
A(9) = 1
A(10) = 5
For ii = 1 To 10
Cells(1, ii) = A(ii) ' выводим массив в строку
If A(ii) < min_A Then ' а вдруг минимум ?
min_A = A(ii)
End If
If A(ii) > max_A Then ' а вдруг максимум
max_A = A(ii)
End If
Cells(ii + nn, 1) = A(ii) ' заполним данные повторений
Cells(ii + nn, 2) = 1
For kk = ii + 1 To 10
priz = False ' признак что это число мы ужеобрабатывали
For ll = 1 To ii - 1
If A(ii) = A(ll) Then
priz = True ' вот тут мы увидели повтор обработки
Exit For
End If
Next ll
If priz Then
Cells(ii + nn, 1) = ""
Cells(ii + nn, 2) = ""
Exit For
End If
If A(ii) = A(kk) Then
Cells(ii + nn, 2) = Cells(ii + nn, 2) + 1 ' вот тут наращиваем повторения
End If
Next kk
Next ii
End Sub
вот как выглядит результат работы макроса

Похожие вопросы
- Задача на C++ по одномерным (статическим) массивам, помогите сделать, пожалуйста, очень надо на завтра
- сделала лабу по информатике,завтра защита,сделать -то сделала ,а объяснить не могу...картинка внутри
- Помогите сделать лабораторную работу по теме "Одномерные массивы" [C++]
- Помогите сделать задачу VBA
- а здесь есть заядлые пограммисты, которые хотят помочь мне сделать лабу по программированию, очень наддо но не успеваю ((
- помогите решить задачку, на VBA для Excel
- помогите дописать лабу в C (Си)
- как сделать метку в VBA (синтаксис) ? Заранее спасибо.
- Помогите составить программу в VBA !!!
- Помогите с кодом для VBA в Excelе