Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2010, 00:25   #1
Tomoa
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 31
Вопрос транспонирование массива

необходимо транспонировать массив n x n и вывести его
помогите с выводом массива
вот код:
Public Sub var9()
Dim A() As Double, B() As Double, n As Integer, i As Integer, j As Integer
n = InputBox("Ukagite razmernost' (n*n)")
ReDim A(1 To n, 1 To n)
ReDim B(1 To n, 1 To n)
For i = 1 To n
For j = 1 To n
A(i, j) = InputBox("VVedite element A (" & i & "," & j & ")")
Next j
Next i
For i = 1 To n
For j = 1 To n
B(i, j) = A(j, i)
Next j
Next i
End Sub
Tomoa вне форума Ответить с цитированием
Старый 14.03.2010, 03:51   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Различные способы (все отлаженные) вот тут: http://programmersforum.ru/showthrea...036#post164036.
Вообще-то есть смысл поэкспериментировать ещё и самой.

Последний раз редактировалось Sasha_Smirnov; 14.03.2010 в 15:44. Причина: род.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 14.03.2010, 14:35   #3
Tomoa
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 31
По умолчанию

сама я эксперементировала, только вот у меня он выводится либо в столбец, либо в строку((
я понимаю, что для вывода двухмерного массива необходимо после изменения номера строки переходить на новую строку.
Tomoa вне форума Ответить с цитированием
Старый 14.03.2010, 17:19   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Печать квадратной матрицы в виде матрицы (квадратной)

Код:
Option Base 1
Dim n As Variant, i As Integer, j As Integer

Sub var9()
Do
n = Val(InputBox("Укажите размерность: число в диапазоне 1—8.", "var9", 3))
Loop Until IsNumeric(n) And n > 0 And n < 9

ReDim A(1 To n, 1 To n)
ReDim B(1 To n, 1 To n)

For i = 1 To n
    For j = 1 To n
    Do
    A(i, j) = InputBox("A(" & i & ", " & j & ")", "var9", Int(1 + 20 * Rnd)) 'ВВОД'
    Loop Until IsNumeric(n) 'ввод элемента происходит лишь при том, что он - число'
    Next j
Next i

For i = 1 To n
    For j = 1 To n
    B(i, j) = A(j, i) 'ТРАНСПОНИРОВАНИЕ'
    Next j
Next i

With Selection
.HomeKey wdStory 'поставили курсор в начало 1-й страницы'
.TypeText "Исходная матрица:" & vbCr: putMatrix A 'ВЫВОД матрицы «A» в активный документ'
.TypeText "Транспонированная:" & vbCr: putMatrix B 'ВЫВОД матрицы «B» в активный документ'
End With
End Sub

Function putMatrix(mat) 'печать таблиц чисел n на n'
For i = 1 To n
        For j = 1 To n
        Selection.TypeText vbTab & mat(i, j) 'печать i-й строки'
        Next j
    Selection.TypeParagraph
Next i
End Function
Также приложен отлаженный проект.
Вложения
Тип файла: doc ПЕЧАТЬ_МАТРИЦЫ.doc (39.0 Кб, 16 просмотров)

Последний раз редактировалось Sasha_Smirnov; 14.03.2010 в 19:35. Причина: русификация.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование матрицы. (транспонирование) AndyShafl Помощь студентам 9 23.12.2009 17:25
PHP. Транспонирование матрицы POPOV Помощь студентам 2 04.02.2009 01:08
транспонирование матриц kate158 Общие вопросы Delphi 7 21.12.2008 16:39
транспонирование квадратной матрицы 777UFO777 Общие вопросы Delphi 1 04.12.2008 19:31
Транспонирование матрицы на i8080 RANDOM223 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 29.04.2008 17:33