Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Задачи для самостоятельного решения




Пример 8

' Имя файла Dynamic_Array.vbs

' Дана матрица A размерностью 4 на 3 и вектор B, состоящий из 4-х элементов.

' Сформировать новую матрицу A размерностью 4 на 4, которая бы содержала в себе

' матрицу A и вектор B, в качестве последнего столбца.

 

Option Explicit

Dim i, j

Dim B(3) ' объявление вектора B, состоящего из 4-х элементов

Dim A() ' объявление динамического массива А

'-------------------------------------------------------------------------------

Sub Input_Rnd_Arr (A)

' процедура заполнения двумерного массива целыми

' числами от 0 до 20, выбранными случайным образом

ReDim A (3, 2)

For i=0 to 3

For j=1 to 2

Randomize

A(i,j)=Fix(Rnd(1)*20)

Next

Next

End Sub

'-------------------------------------------------------------------------------

Sub Input_Rnd_Vec (B)

' процедура заполнения одномерного массива целыми

' числами от 0 до 20, выбранными случайным образом

For i=0 to 3

Randomize

B(i)=Fix(Rnd(1)*20)

Next

End Sub

'-------------------------------------------------------------------------------

Function Arr_to_Str (A)

' функция записи матрицы в строку s

Dim s

For i=0 to 3

For j=1 to 2

s=s&A(i,j)&" "

Next

s=s&vbCrLf

Next

Arr_to_Str=s

End Function

'-------------------------------------------------------------------------------

Function Vec_to_Str (B)

Dim s

' функция записи вектора в строку s

For i=0 to 3

s=s&B(i)&" "

Next

Vec_to_Str=s

End Function

'-------------------------------------------------------------------------------

Function New_Arr(A, B)

Dim s

' функция формирования новой матрицы A и запись её в строку s

ReDim Preserve A (3, 3)

A(0, 3)=B(0)

A(1, 3)=B(1)

A(2, 3)=B(2)

A(3, 3)=B(3)

For i=0 to 3

For j=1 to 3

s=s&A(i,j)&" "

Next

s=s&vbCrLf

Next

New_Arr=s

 

End Function

'-------------------------------------------------------------------------------

Input_Rnd_Arr A ' вызов процедуры ввода элементов матрицы A

Input_Rnd_Vec B ' вызов процедуры ввода элементов вектора B

MsgBox Vec_to_Str (B),,"Вектор B:"

MsgBox Arr_to_Str (A),,"Первоначальная матрица A:"

MsgBox New_Arr (A, B),,"Изменённая матрица A:"

 

"Заполнение" массивов

1. Сформируйте двухмерный массив NxN по следующему правилу: элементы главной диагонали равны 1, ниже главной диагонали - 0, а выше - сумме индексов.

2. Заполнить квадратную матрицу A(n)(n) последовательными целыми числами от 1 до n2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь против часовой стрелке:

           
           
           
           
           
           
(пример для n=6).

 

3. Заполнить квадратную матрицу A(n)(n) последовательными целыми числами от 1 до n2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь по часовой стрелке:

 

           
           
           
           
           
           
(.пример для n=6)

4. Написать программу, которая заполняет таблицу Пифагора - квадратную матрицу из 10 строк и 10 столбцов, каждый элемент которой определяется формулой A(I)(J)=I*J. Полученную матрицу распечатать.

5. Получить квадратную матрицу M(n)(n):

 

          ... n
          ... n-1
          ... n-2
          ... n-3
          ... n-4
             
n n-1 n-2 n-3 n-4 ...  

Полученную матрицу распечатать.

6. Дана последовательность целых чисел 0, 1, 2,..., n. Заполнить ими матрицу A(n)(n) следующим способом:

 

n ...          
n-1 ...          
n-2 ...          
n-3 ...          
n-4 ...          
...........................
  ... n-4 n-3 n-2 n-1 n

Полученную матрицу распечатать.

7. Получить квадратную матрицу A(n)(n), элементы главной диагонали которой является последовательностью целых чисел: n, n-1,..., 1, а все остальные элементы равны 1.

Пример для n=5:

 

         
         
         
         
         

8. Дано натуральное число n. Заполнить матрицу A(n)(n) элементами последовательности n2, n2-1,..., 1. Приведем пример заполнения для n=5:

         
         
         
         
         

9. Дано натуральное n. Построить матрицу A(n)(n) из нулей и единиц по правилу:

 

        ...      
        ...      
        ...      
               
      ...        
        ...      
        ...      

10. Дано натуральное n. Построить матрицу A(n)(n) следующим способом:

 

          ...        
          ...        
          ...        
          ...        
                   
        ...          
          ...        
          ...        
          ...        

11. Дано натуральное n. Построить матрицу A(n)(n) по правилу:

а(i)(j)=max(i,j).

12. Постройте нерегулярный двухмерный массив из n строк по правилу:

(1) 1 2 3 4 5

1 2 3

1 2 3 4 5

1 2 3

1 2 3 4 5

1 2 3

...

 

(2) 1 2 3... n-2 n-1 n

1 2 3... n-2 n-1

1 2 3... n-2

............

1 2 3

1 2

 

(3) 1

2 3

4 5 6

7 8 9 10

11 12 13

14 15

17 18

19 20 21

22 23 24 25

26 27 28

...

 

(4) 1

2 n+1

3 n+2 2n

4 n+3 2n+1...

................

n 2n-1 3n-3...

(5) 10

11 12

13 14 15

16 17

18 19 20

21 22 23 24

25 26 27

28 29 30 31

32 33 34 35 36

37 38 39 40

41 42 43 44 45

46 47 48 49 50 51

..............

 

(6) n n-1 n-2... 3 2 1

n n-1 n-2... 3 2 1

n-1 n-2 n-3... 2 1

n-1 n-2 n-3... 2 1

n n-1 n-2... 3 2 1

n n-1 n-2... 3 2 1

n-1 n-2 n-3... 2 1

...................

 

(7) 1

1 2 3... n

1 2 3... n

1 2 3... n

...

 

(8) 0 0

1 2 3

0 0

1 2 3 4

0 0

1 2 3 4 5

0 0

1 2 3 4 5 6

0 0

...




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 472; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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