Читайте также: |
|
Дан массив А (100, 100). Подсчитать, сколько раз встречается в этом массиве максимальное по величине число.
Выполнение в TP:
Program MATR;
Var A:array[1..100,1..100] of real;
i, j, kol:integer; max:real;
Begin
Write (“Введи n=”); readln(n);
Write(“Введи m:”); readln(m);
For i:=1 to n do
For j:=1 to m do
Begin
Write(“Введи A[“,i,”,”,j,”]:”);
Readln(A[ i,j ]);
End;
max:=A[ 1,1 ]; kol:=0;
For i:=1 to n do
For j:=1 to m do
If A[ i,j ] > max then max:=A[ i,j ];
For i:=1 to n do
For j:=1 to m do
If A[ i,j ]=max then kol:=kol+1;
Writeln(“Ответ:”,kol);
End.
в VBA:
Sub MATR()
Dim i As Byte
Dim j As Byte
Dim kol As Byte
Dim A(100, 100) As Single
Dim max As Single
n = inputBox(“Введи n=”): m = inputBox(“Введи m=”)
ReDim A(n,m) As Single
For i = 1 To n
For j = 1 To m
A(i, j) = InputBox ("Введи A[" & i & "," & j & "]:", "Ввод массива")
Next j
Next i
max = A(1, 1): kol = 0
For i = 1 To n
For j = 1 To m
If A(i, j) > max Then max = A(i, j)
Next j
Next i
For i = 1 To n
For j = 1 To m
If A(i, j) = max Then kol = kol + 1
Next j
Next i
MsgBox kol, 0, "Ответ:"
End Sub
В среде Мicrosoft Excel: матрица задана в диапазоне B2:F6.
1 способ:
2 способ: использовать функцию СЧЕТЕСЛИ().
2. Сформировать матрицу A, элементы которой вычисляются по формулам:
A1,j=(j2+0.3)*j, где j=1, 2, 3.
A2,j=(-1)j+1 *(j+0.1)
A3,j=(-1)j *(j+0.4)
Найти S элементов матрицы, расположенных в строках с отрицательным элементом на главной диагонали.
Решение приведено на VBA с использованием подпрограммы функции:
Sub Reshenie()
Dim k As Byte: Dim i As Byte
Dim a (3, 3) As Single
Dim s As Single
For k = 1 To 3 ' вложенныe циклы для формир-я матрицы
For i = 1 To 3
If k = 1 Then a(k, i) = (i ^ 2 + 0.3) * i
If k = 2 Then a(k, i) = (-1) ^ (i + 1) * (i + 0.1)
If k = 3 Then a(k, i) = (-1) ^ i * (i + 0.4)
Range("b11").Cells(k, i).Value = a(k, i)
Next i
Next k
s = summa(3, 3, a) 'Вызов функции для получения суммы
Range("c9").Value = s 'Запись результата на рабочий лист
MsgBox "сумма=" & s,, "Результат" 'Вывод результата
End Sub
Function summa(n As Byte, m As Byte, a() As Single) As Single
Dim k As Byte, i As Byte, j As Byte
Dim sum As Single
sum = 0
'Вычисление суммы для строки с отрицательным элементом
For i = 1 To m
For j = 1 To m
If a(i, i) < 0 Then
sum = sum + a(i, j)
End If
Next j
Next i
'Присваивание функции конечного результата
summa = sum
End Function
В cреде Excel:
A B C D
I j | ||||
=(B1^2+0,3)*B1 | =(C1^2+0,3)*C1 | =(D1^2+0,3)*D1 | ||
=(-1)^(B1+1)*(B1+0,1) | =(-1)^(C1+1)*(C1+0,1) | =(-1)^(D1+1)*(D1+0,1) | ||
=(-1)^B1*(B1+0,4) | =(-1)^C1*(C1+0,4) | =(-1)^D1*(D1+0,4) | ||
В ячейку В2, B3, B4 записывается формула для строки и копируется по горизонтали на блок ячеек B2:D2, B3:D3, B4:D4 cоответственно.
В результате получим матрицу:
Вычисление суммы для строк с отрицательным элементом на главной диагонали: =СУММ(СУММЕСЛИ(B2;"<0";B2:D2);СУММЕСЛИ(C3;"<0";B3:D3);СУММЕСЛИ(D4;"<0";B4:D4))
12. Варианты заданий по теме “Двумерные массивы”
3. Получить массив В (7,7)=
4. Дан действительный массив А(20,20). Преобразовать его, поменяв элементы местами, как показано на рисунке:
5. Вывести на экран массив А(4,4), и все положительные элементы главной диагонали.
6. Дан массив В(4,4). Найти количество нулевых элементов массива. Вывести на экран.
7. Вывести на экран массив А(4,4), и все отрицательные элементы второй диагонали.
8. Найти среднее арифметическое положительных элементов массива А(10,14).
9. Вычислить сумму элементов двух главных диагоналей массива А(4,4). Значение суммы и массив вывести на экран.
10. Дан целочисленный массив А(100,50). Изменить все элементы массива на противоположные по знаку.
11. Дан натуральный массив А(4,4). Найти сумму элементов 2 строки массива.
12. Из массива А(10,45) выбрать нулевые элементы. Подсчитать их число и напечатать их порядковые номера (вывести на экран).
13. Получить массив A(23,43), в котором A[i, j]= В полученном массиве найти количество элементов, которые больше 7.
14. Дан массив С(45,45). Найти порядковые номера элементов, равных максимальному значению данного массива.
15. Дан массив В(45,45). Найти сумму элементов, расположенных ниже второй диагонали.
16. Дан массив D(45,45). Найти количество нулевых элементов каждого чётного столбца.
17. Дан массив В(45,45). Найти сумму элементов, расположенных ниже главной диагонали.
18. Дан массив В(45,45), натуральные числа i и j (i<j<45). Поменять местами i-й и j-й столбцы.
19. Дан массив В(45,45). Найти сумму минимальных элементов его чётных строк.
20. Дан массив D(45,45). Найти количество нулевых элементов, расположенных выше второй диагонали.
21. Дан массив В(50,50). Найти сумму элементов каждой строки, у которой на главной диагонали лежит отрицательный элемент (хотя бы одна такая строка существует).
22. 0пределить количество положительных элементов каждого столбца массива А(4,4).
23. Вывести на экран массив А(4,4), и все положительные элементы главной диагонали.
24. Дан вещественный массив А(21,21). Вычислить сумму элементов, расположенных в заштрихованной части:
Дата добавления: 2015-10-30; просмотров: 194 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Dim n As Byte | | | Лабораторная работа №6 |