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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 15:25   #1
Makavelli
 
Регистрация: 05.05.2009
Сообщений: 7
Печаль Получите целочисленную квадратную матрицу того же порядка, в которой элемент равен единице

День добрый! Помогите пожалуйста с задачкой
Условие:
Пусть дана вещественная квадратная матрица порядка n. Получите целочисленную квадратную матрицу того же порядка, в которой элемент равен единице, если соответствующий ему элемент исходной матрицы больше элемента, расположенного в его строке на главной диагонали, и равен нулю в противном случае.
Задача решается в ворде
Makavelli вне форума Ответить с цитированием
Старый 13.12.2011, 16:36   #2
vova_
Форумчанин
 
Аватар для vova_
 
Регистрация: 07.11.2011
Сообщений: 100
По умолчанию

Private Sub CommandButton1_Click()
Dim i, j As Integer
Dim a(1 To 3, 1 To 3), b(1 To 3, 1 To 3) As Double
a(1, 1) = 21
a(1, 2) = 32
a(1, 3) = 53
a(2, 1) = 50
a(2, 2) = 54
a(2, 3) = 84
a(3, 1) = 65
a(3, 2) = 42
a(3, 3) = 44
For i = 1 To 3
For j = 1 To 3
If a(i, j) > a(i, i) Then b(i, j) = 1
Next j
Next i
End Sub
общая идея такова
думаю для матрицы nxn модифицируеш самостоятельно
vova_ вне форума Ответить с цитированием
Старый 13.12.2011, 17:51   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> Задача решается в ворде
... но кто же запретит нам вызвать Excel?
Результат - в окне Immediate
Код:
Option Explicit
Dim v(), n

Sub bb()
n = Val(InputBox("Введите n:"))
If n <= 0 Then Exit Sub
With CreateObject("excel.sheet").sheets(1).Cells(1, 1).Resize(n, n)
.Application.Visible = True         'только для отладки
    .Formula = "=ROUND(RAND(),3)"
    v = .Value
    .Value = v
    Debug.Print "Исходный массив"
    PrintArray
    .Offset(n + 1).formulaarray = Replace("=--(~>INDEX(~,ROW(~),ROW(~)))", "~", .Address)
    v = .Offset(n + 1).Value
    Debug.Print "Результат"
    PrintArray
    .Application.Quit
End With
End Sub

Private Sub PrintArray()
Dim i, j
For i = 1 To n
    For j = 1 To n
        Debug.Print v(i, j),
    Next
    Debug.Print
Next
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 14.12.2011, 12:14   #4
Makavelli
 
Регистрация: 05.05.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от vova_ Посмотреть сообщение
Private Sub CommandButton1_Click()
Dim i, j As Integer
Dim a(1 To 3, 1 To 3), b(1 To 3, 1 To 3) As Double
a(1, 1) = 21
a(1, 2) = 32
a(1, 3) = 53
a(2, 1) = 50
a(2, 2) = 54
a(2, 3) = 84
a(3, 1) = 65
a(3, 2) = 42
a(3, 3) = 44
For i = 1 To 3
For j = 1 To 3
If a(i, j) > a(i, i) Then b(i, j) = 1
Next j
Next i
End Sub
общая идея такова
думаю для матрицы nxn модифицируеш самостоятельно
Если честно не получается , нужно ещё прописать что-то для ListBox'a, у меня не получается...
Makavelli вне форума Ответить с цитированием
Старый 18.12.2011, 11:36   #5
Makavelli
 
Регистрация: 05.05.2009
Сообщений: 7
По умолчанию

vova_, Как связаться с вами, нужна помощь в решении, при благоприятном исходе не обижу.
Makavelli вне форума Ответить с цитированием
Старый 18.12.2011, 14:55   #6
vova_
Форумчанин
 
Аватар для vova_
 
Регистрация: 07.11.2011
Сообщений: 100
По умолчанию

а зачем именно через ListBox?
vova_ вне форума Ответить с цитированием
Старый 18.12.2011, 15:13   #7
Makavelli
 
Регистрация: 05.05.2009
Сообщений: 7
По умолчанию

А как по другому вывести решение?
Makavelli вне форума Ответить с цитированием
Старый 18.12.2011, 15:39   #8
vova_
Форумчанин
 
Аватар для vova_
 
Регистрация: 07.11.2011
Сообщений: 100
По умолчанию

я всегда матрицы вивожу в TextBox в виде:
TextBox1.Text = TextBox1.Text +STR$(a(1,1))+Chr(9)+STR$(a(1,2))+C hr(13)+STR$(a(2,1))+Chr(9)+STR$(a(2 ,2))
после вывода в таком формате его можно в Excel переносить через Ctrl+C Ctrl+V
vova_ вне форума Ответить с цитированием
Старый 18.12.2011, 16:09   #9
Makavelli
 
Регистрация: 05.05.2009
Сообщений: 7
По умолчанию

Можно так попробовать, но я совсем не разбираюсь в этом... Поэтому и прошу помощи, в виде полного решения задачи, чтоб я смог поразбираться в ней.
Makavelli вне форума Ответить с цитированием
Старый 18.12.2011, 20:08   #10
vova_
Форумчанин
 
Аватар для vova_
 
Регистрация: 07.11.2011
Сообщений: 100
По умолчанию

как нужно вводить исходную матрицу
сразу в текст прози вбиваем элементы или с клави во время роботы проги
vova_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дано целое число n. Получить целочисленную матрицу b размером n x n для которой b(i,j)=i-3j Романн Помощь студентам 1 07.06.2011 19:58
Задано квадратную матрицу /*Oleh*/ Помощь студентам 5 07.03.2011 18:56
Задача на квадратную матрицу.. Razorishe Помощь студентам 4 17.03.2009 08:52
Сформировать матрицу A - первый столбец которой равен последнему столбцу исходной матрицы Вика М. Помощь студентам 3 23.12.2008 04:51
фортран, ввести квадратную матрицу 4-го порядка ,элементы которой заданы для ввода построчно slepen346 Помощь студентам 0 09.12.2008 18:58