русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Диагональное вычисление в матрице


Дата добавления: 2013-12-23; просмотров: 1075; Нарушение авторских прав


Вычисление суммы, произведения, количества, минимума и максимума в двумерных массивах

 

Сумма, произведение, количество, минимум и максимум в двумерных массивах вычисляются точно так же, как и в одномерных, только после задания начальных значений нужно открыть не один, а два цикла (по строкам и по столбцам).

 

S = 0 : P = 1 : K = 0 : Min = 32000 : Max = – 32000

For i = 1 To N

For j = 1 To N

S = S + x(i, j)

P = P * x(i, j)

K = K + 1

If x(i, j) < Min Then Min = x(i, j)

If x(i, j) > Max Then Max = x(i, j)

Next j

Next i

 

Пример

Задана целочисленная матрица X(5, 5). Вычислить значение выражения

 

,

 

где Р – произведение четных элементов матрицы; S – сумма нечетных элементов; Max – максимальный из положительных элементов; iMin, jMin – номера строки и столбца минимального элемента матрицы.

 

Программный код

 

Option Explicit

Sub PR23()

Dim X(5, 5) As Integer

Dim i As Integer, j As Integer

Dim T As Double, S As Double

Dim P As Double, Q As Double

Dim Max As Integer, Min As Integer

Dim iMin As Integer, jMin As Integer

‘ очистка ячеек электронной таблицы

Range(Cells(1, 1), Cells(100, 100)).Select

Selection.Clear

Cells(1, 1).Select

‘ ввод матрицы

For i = 1 To 5

For j = 1 To 5

Cells(i, j) = Int(Rnd * 100 – 50)

X(i, j) = Cells(i, j)

Next j

Next i

P = 1: S = 0: Max = –32000: Min = 32000

For i = 1 To 5

For j = 1 To 5

If X(i, j) Mod 2 = 0 Then P = P * X(i, j)

If X(i, j) Mod 2 <> 0 Then S = S + X(i, j)

If X(i, j) > 0 And X(i, j) > Max Then Max = X(i, j)

If X(i, j) < Min Then

Min = X(i, j)

iMin = i

jMin = j

End If

Next j

Next i

T = P * S – Max * iMin * jMin

If T >= 0 Then

Q = Sqr(T)

MsgBox ("Q=" & Q)



Else

MsgBox ("нет решения")

End If

End Sub

 

 

Задана матрица Y(n, n). Вычислить сумму элементов в IV четверти, произведение четных элементов во II четверти, поменять местами минимальный элемент в I четверти и максимальный элемент в III четверти (рис. 10).

 

 
 

 


Рис. 10. Диагональное вычисление в матрице

 

Программный код

 

Option Explicit

Sub PR24()

Dim Y(50, 50) As Integer

Dim n As Integer

Dim i As Integer, j As Integer

Dim R As Integer

Dim S As Double

Dim P As Double

Dim Min As Integer

Dim Max As Integer

Dim iMin As Integer, jMin As Integer

Dim iMax As Integer, jMax As Integer

n = Val(InputBox("введите n"))

‘ очистка ячеек

Range(Cells(1, 1), Cells(100, 100)).Select

Selection.Clear

Cells(1, 1).Select

‘ ввод матрицы

For i = 1 To n

For j = 1 To n

Cells(i, j) = Int(Rnd * 100 – 50)

Y(i, j) = Cells(i, j)

Next j

Next i

P = 1: S = 0: Max = –32000: Min = 32000

For i = 1 To n

For j = 1 To n

If (i + j < n + 1) And (i > j) Then S = S + Y(i, j)

If (Y(i, j) Mod 2 = 0) And (i < j) And (i + j > n + 1) Then P = P * Y(i, j)

If (Y(i, j) > Max) And (i > j) And (i + j > n + 1) Then

Max = Y(i, j)

iMax = i

jMax = j

End If

If (Y(i, j) < Min) And (i < j) And (i + j < n + 1) Then

Min = Y(i, j)

iMin = i

jMin = j

End If

Next j

Next i

Cells(n + 2, 1) = "Сумма="

Cells(n + 2, 3) = S

Cells(n + 3, 1) = "Произведение="

Cells(n + 3, 3) = P

‘ Перестановка минимума и максимума

R = Y(iMax, jMax)

Y(iMax, jMax) = Y(iMin, jMin)

Y(iMin, jMin) = R

Cells(n + 5, 1) = "новая матрица"

For i = 1 To n

For j = 1 To n

Cells(n + i + 6, j) = Y(i, j)

Next j

Next i

End Sub

 



<== предыдущая лекция | следующая лекция ==>
Формирование матрицы | Построчное вычисление в матрице


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.355 сек.