Студопедия

Главная страница Случайная страница

Разделы сайта

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






  • Формирование матрицы






     

    При формировании квадратной матрицы будем пользоваться следующими инструкциями. Общий вид квадратной матрицы, например размерности 4´ 4, выглядит следующим образом:

     

    А11 А12 А13 А14
    А21 А22 А23 А24
    А31 А32 А33 А34
    А41 А42 А43 А44

     

    В квадратной матрице выделяются главная и побочная диагонали. Условия нахождения элемента на главной или побочной диагонали показаны на рис. 7.

    Относительно каждой диагонали элемент матрицы может находиться выше или ниже диагонали. Условия нахождения элемента в каждой из частей матрицы показаны на рис. 8.

    I, J – номера строки и столбца, в которых находится элемент матрицы.

     

     
     

     


    Рис. 7. Главная и побочная диагонали

     

     
     

     


    Рис. 8. Условия нахождения элемента выше или ниже диагонали

     

    Относительно обеих диагоналей элемент матрицы может находиться в одной из четвертей. Условия нахождения элемента в каждой из них показаны на рис. 9.

           
     
     
       
    (I> J) and (I+J> N+1)

     

     


    Рис. 9. Нахождение элемента в одной из четвертей

     

    Пример 1

    Сформировать матрицу X(N, N) вида

             
             
             
             
             

     

    На побочной диагонали матрицы стоят 5, на главной диагонали стоят 4, в I четверти – 0, во II четверти – 2, в III четверти – 3, в IV четверти – 1.

     

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

    Option Explicit

    Sub PR22()

    Dim a(10, 10) As Integer

    Dim N As Integer

    Dim i As Integer

    Dim j 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

    If i + j = N + 1 Then a(i, j) = 5

    If i = j Then a(i, j) = 4

    If i < j And i + j < N + 1 Then a(i, j) = 0

    If i < j And i + j > N + 1 Then a(i, j) = 2

    If i > j And i + j > N + 1 Then a(i, j) = 3

    If i > j And i + j < N + 1 Then a(i, j) = 1

    Next j

    Next i

    Cells(1, 1) = " Полученная матрица"

    For i = 1 To N

    For j = 1 To N

    Cells(i + 1, j) = a(i, j)

    Next j

    Next i

    End Sub

    Пример 2

    Сформировать матрицу X(N, N) вида

     

            N
             
             
    . . . . .
             
            N

     

    Описание и вывод матрицы будут как в предыдущем примере, здесь и далее будем рассматривать только фрагмент программы, в котором формируется матрица.

     

    For i = 1 To N

    For j = 1 To N

    X(i, j) = 0

    If i = j Then X(i, j) = i

    If i + j = N + 1 Then X(i, j) = N + 1 – i

    Next j

    Next i

     

    Пример 3

    Сформировать матрицу Y(N, N) вида

     

             
             
             
    . . . . .
             
             
             

     

    For i = 1 To N

    For j = 1 To N

    If i = 1 Or i = N Or j = 1 Or j = N Then Y(i, j) = 1 Else Y(i, j) = 0

    Next j

    Next i

     

     

    Пример 4

    Сформировать матрицу Z(N, N) вида

     

               
               
               
               
    . . . . . . .
               
              N

     

    For i = 1 To N

    For j = 1 To N

    If i > = j Then Z(i, j) = j Else Z(i, j) = 0

    Next j

    Next i

     

     

    Пример 5

    Сформировать матрицу Q(N, N) вида

     

           
           
           
    . . . .
           

     

    For i = 1 To N

    For j = 1 To N

    If (i +j) mod 2 = 0 Then Q(i, j) = 1 Else Q(i, j) = 2

    Next j

    Next i

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.