Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Двумерные массивы. Выполнение в TP:

Читайте также:
  1. Битовые массивы
  2. Двумерные массивы
  3. Двумерные массивы
  4. Двумерные преобразования координат
  5. Динамические массивы
  6. Линейные массивы

 

Дан массив А (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

mybiblioteka.su - 2015-2024 год. (0.009 сек.)