Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / матрицы / 10 сообщений из 10, страница 1 из 1
22.01.2006, 16:46
    #33496137
RavenX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
Как повернуть матрицу на 90 градусов? Если знаете, то напишите в программном коде. Заранее благодарен.
...
Рейтинг: 0 / 0
22.01.2006, 17:50
    #33496164
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
Транспонировать?

Код: plaintext
1.
2.
temp = a(i,j)
a(i,j) = a(j,i)
a(j,i) = temp
...
Рейтинг: 0 / 0
22.01.2006, 17:52
    #33496166
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
Если это делать в Excel, то там есть ф-я ТРАНСП(), только формулу нужно вставлять как массив:
- ставим курсор на верхний левый угол новой матрицы
- выделяем диапазон ячеек для новой матрицы
- пишем что-то типа =ТРАНСП(A1:C3)
- нажимаем Ctrl+Shift+Enter

Если это делать с массивом A(n,m) и помещать результат в B(m,n), то
Код: plaintext
1.
2.
3.
4.
for i= 1  to n
 for j= 1  to m
  b(j,i)=a(i,j)
 next
next

Если нужно транспонировать прямо в массиве A(n,n), то:
Код: plaintext
1.
2.
3.
4.
5.
6.
for i= 2  to n
 for j= 1  to n- 1 
  c=a(i,j)
  a(i,j)=a(j,i)
  a(j,i)=c
 next
next

Если нужно транспонировать прямо в массиве A(n,m), то не получится,
поскольку A(n,m)<>A(m,n)

Или надо "повернуть" а не транспонировать?
...
Рейтинг: 0 / 0
23.01.2006, 18:08
    #33498108
RavenX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
надо не в Excel....и надо не транспонировать, а повернуть.
...
Рейтинг: 0 / 0
23.01.2006, 22:31
    #33498475
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
для понятности пример прилепи или картинку нарисуй, а то не понятно слишком.
...
Рейтинг: 0 / 0
24.01.2006, 23:31
    #33501071
neskif
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
Первая строка должна стать первым столбцом ? Или чтобы и цифры поернулись на 90 ? Если первое, то это и есть транспонирование, а если второе, то зачем такой прикол?
...
Рейтинг: 0 / 0
25.01.2006, 20:33
    #33503507
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
Поворот на 90 по часовой:
Если это делать с массивом A(n,m) и помещать результат в B(m,n), то
Код: plaintext
1.
2.
3.
4.
for i= 1  to n
 for j= 1  to m
  b(j,i)=a(n-i+ 1 ,j)
 next
next
...
Рейтинг: 0 / 0
02.06.2006, 21:26
    #33770082
Dionisiu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
Не стану повторять тему, но та же проблема (примерно)
Есть таблица в Экселе, в ней столбцы: Клиент, Адрес, а дальше изменяемое число столбцов с наименованием товара, причём количество и ПОРЯДОК расположения меняется ежедневно (кто знает 1С:Бухгалтерию - тот знает отчет "Анализ движения товаров")
В строках таблицы - собственно наименование клиента, его адрес и данные о количестве проданного клиенту товара. Есть подводный камень - клиенты группируются по "маршрутам" (типа "Город1", "Город2", "Село", "Пригород", "Север"), а также по агентам (причём два агента могут делить часть маршрутов "Город..."), и для каждого маршрута делаются итоги, потом итоги для каждого агента, в конце - полный итог

Задача - выбрать из такой таблицы данные о продажах и вывести в другой файл, в котором товары расположены в столбец.

Формула типа СУММ(АДРЕС(ПОИСКПОЗ())) - не помогает (количество продаж утраивается за счёт учёта промежуточных итогов)
Формула БСЧЕТ() - тоже брешет

убирать Агентов, Маршруты (и их итоги) - проблематично, применять функцию ТРАНСП() - ещё проблематичнее (пробовал, занимает времени много, да и ручного труда прилично получается)

Уточнение: имеется список всех возможных наименований товара (в тдельной книге, расположено в столбец), а также наименований маршрутов и ФИО Агентов, известно, что итоги выводятся в файле жирным шрифтом.

Вопрос: какой набор функций экселя может помочь выбрать из строки наименований столбцов столбец с нужным товаром, потом в этомм столбце подсчитать числа, НЕ ВЫДЕЛЕННЫЕ жирным шрифтом. Если на листе не обнаружен столбец с нужным именем - то должно быть "НОЛЬ"
...
Рейтинг: 0 / 0
06.06.2006, 10:43
    #33774017
dbf97
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
to Dionisiu

чой то я не припоминаю, есть ли функции рабочего листа, которые возвращали бы начертание шрифта
м.б ну их на фиг эти формулы? пробежаться макросом по столбцам сложить усе циферки по условию Selection.Font.Bold = false
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
22.11.2007, 23:32
    #34959879
Elka)))
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
матрицы
добрый вечер... нужна помощь, не могу решить задачи, а завтра лаба... 1)Ввести произвольную матрицу, сделать К раз циклическую перестановку столбцов влево.
2)Сделать сжатие элементов произвольной матрицы по столбцам.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / матрицы / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]