0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
1

Преобразовать матрицу в ее симметричную по строке M/2

08.10.2016, 13:38. Показов 1588. Ответов 2
Метки нет (Все метки)

Взять матрицу M x N, Преобразовать ее в симметричную по строке M/2. Вывести результат рядом с исходной матрицей. M=6, N=7.
Матрицу получилось сделать, а вот дальше - не знаю, как. Помогите, пожалуйста.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub laba12()
'
' laba12 Ìàêðîñ
'
 
'
Cells.Clear
Dim n As Byte
Dim m As Byte
n = InputBox("stolbci", , 6)
m = InputBox("stroki", , 7)
For i = 1 To n
For j = 1 To m
Cells(i, j) = Int(Rnd * 100) + 1
Next
Next i
End Sub
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2016, 13:38
Ответы с готовыми решениями:

Преобразовать матрицу поменяв минимальный и максимальный элемент в каждой строке.
Помогите пожалуйста Дана матрица размером mxn.Преобразовать матрицу поменяв минимальный и...

Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке
Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный...

Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке
1. Дана матрица размера МxN Преобразовать матрицу, поменяв местами минимальный и максимальный...

Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке
Дана матрица размера M*N, преобразовать матрицу, поменяв местами минимальный и максимальный элемент...

2
653 / 246 / 88
Регистрация: 28.10.2015
Сообщений: 520
08.10.2016, 22:20 2
Лучший ответ Сообщение было отмечено Lnqwex как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub laba12()
   Cells.Clear
   Dim n As Byte, m As Byte, i As Integer, j As Integer
   n = InputBox("Строки", , 6)
   m = InputBox("Столбцы", , 7)
   For i = 1 To n
      For j = 1 To m
         Cells(i, j) = Int(Rnd * 100) + 1
         Cells(n + 1 - i, j + (m + 1)) = Cells(i, j)
      Next
   Next
End Sub
Dim n As Byte, m As Byte, i As Integer, j As Integer - так менее наглядно объявлять переменные, но зато компактнее!
n = InputBox("Строки", , 6) - Visual Basic поддерживает Unicode, это значит, что хоть названия переменных, хоть названия функций/модулей, так и всевозможные значения их можно называть, используя кириллицу!
n = InputBox("Строки", , 6)
m = InputBox("Столбцы", , 7)
Обратите внимание, что когда пишете такое " Cells(i, j)", то здесь i - это номер строки, а j - это номер столбца. Здесь ОЧЕНЬ ЛЕГКО запутаться, так что этот момент надо проверять очень бдительно!
Едем дальше: когда у вас в редакторе кода написано что-то кириллицей, но после копирования и вставки на форум превращается в кракозябры типа "laba12 ГЊГ*êðîñ". Это потому, что во время копирования раскладка клавиатуры стояла на английском! Так что перед копированием с редактора (да и при копировании откуда-либо в редактор тоже) переключайте раскладку на "ru" и всё будет нормально выглядеть.
И последнее: при таком объявлении (Dim n As Byte, m As Byte, i As Integer, j As Integer) просто нужно после каждой переменной указать её тип, в противном случае, если написать (Dim n, m, i, j As Integer), то указанная переменная j получит указанный же тип - integer, а остальные получатся "variant". На самом деле иногда это очень хорошо и полезно, так как в одну переменную можно впоследствии вносить хоть текст, хоть при необходимости числа, но при большом количестве операций использование variant сильно замедлит работу всей программы.
Удачи!
1
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
08.10.2016, 22:30  [ТС] 3
Святой НякаЛайк, спасибо большое.
Цитата Сообщение от Святой НякаЛайк Посмотреть сообщение
Обратите внимание, что когда пишете такое " Cells(i, j)", то здесь i - это номер строки, а j - это номер столбца. Здесь ОЧЕНЬ ЛЕГКО запутаться, так что этот момент надо проверять очень бдительно!
- здесь очень запутался в другой, более легкой лабе, где требовалось в строках/столбцах найти макс элементы) Спасибо за советы.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2016, 22:30
Помогаю со студенческими работами здесь

Преобразовать матрицу, поменяв местами минимальный и максимальный элементы в каждой строке
2. Дана матрица размером MxN, заполненная произвольным образом целыми числами из диапазона ....

Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке
Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке ...

Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке
Привет помогите пожалуста прогу написать. Дана матрица размера, а x б. Преобразовать матрицу,...

Как создать симметричную матрицу
Как создать симметричную матрицу.

Симметричную матрицу сделать несимметричной
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если...

Массив: Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.
Дана матрица размера M x N. Преобразовать матрицу, поменяв местами минимальный и максимальный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru