Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
01 Дек 2020, 08:56
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Получить транспонированную матрицу  (Прочитано 96 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yamuna

  • ***
  • Сообщений: 162
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-04-19
  • Сайт: 
  • Профессия: Ученик 1С
добрый день! подскажите как получить транспонированную Матрицу: Сделать матрицу случайных чисел 5 x 5. Вывести пользователю. Получить по исходной матрице транспонированную матрицу. Вывести пользователю.

	Генератор = Новый ГенераторСлучайныхЧисел();
Матрица = Новый Массив(5,5);
Для Инд = 0 по Матрица.ВГраница() Цикл
Для ИндКол = 0 По Матрица[Инд].ВГраница() Цикл
Матрица[Инд][ИндКол] = Генератор.СлучайноеЧисло(1,100);
КонецЦикла;
КонецЦикла;

Для каждого СтрМасс Из Матрица Цикл
Сообщить("Матрица "+СтрМасс[0]+" "+СтрМасс[1]+" "+СтрМасс[2]+" "+СтрМасс[3]+" "+СтрМасс[4]);
КонецЦикла;

НовМатрица = Новый Массив;
Для Стр = 0 По Матрица.Количество() - 1 Цикл
Для Значение = 0 По Матрица[Стр].Количество() - 1 Цикл
Для Сч = 1 По Значение Цикл
НовСтр = Сред(Стр,Сч,1) + НовСтр;
КонецЦикла;                                                     
НовМатрица.Добавить(НовСтр);
НовСтр = "";
КонецЦикла;
КонецЦикла;


не пойму что не так делаю ?


Оффлайн LexaK

  • *****
  • Сообщений: 2299
  • РЕПУТАЦИЯ: 682
  • КПД: 30%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
попробуйте так
//размерность массива, можно оперативно менять
нн = 5;
мм = 4;
Генератор = 0;//для простоты проверки
    Матрица = Новый Массив(нн,мм);//(5,4);
    Для поз1 = 0 по нн - 1 Цикл
        Для поз2 = 0 По мм - 1 Цикл
Генератор = Генератор + 1;
            Матрица[поз1][поз2] = Генератор;//.СлучайноеЧисло(1,100);
        КонецЦикла;
    КонецЦикла;

    Сообщить("Исходный массив:");
    Для поз1 = 0 по нн - 1 Цикл
Значения = "";
        Для поз2 = 0 По мм - 1 Цикл
Значения = Значения + Матрица[поз1][поз2] + ", ";
        КонецЦикла;
        Сообщить(Значения);
    КонецЦикла;


    НовМатрица =Новый Массив(мм, нн);//(4,5);
    Для поз1 = 0 по нн - 1 Цикл
        Для поз2 = 0 По мм - 1 Цикл
            НовМатрица[поз2][поз1] = Матрица[поз1][поз2];
        КонецЦикла;
КонецЦикла;

//вывод матрицы 2
Сообщить("транспонированный массив:");
    Для поз1 = 0 по мм - 1 Цикл
Значения = "";
        Для поз2 = 0 По нн - 1 Цикл
Значения = Значения + НовМатрица[поз1][поз2] + ", ";
        КонецЦикла;
        Сообщить(Значения);
    КонецЦикла;

Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн Yamuna

  • ***
  • Сообщений: 162
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-04-19
  • Сайт: 
  • Профессия: Ученик 1С
попробуйте так
//размерность массива, можно оперативно менять
нн = 5;
мм = 4;
Генератор = 0;//для простоты проверки
    Матрица = Новый Массив(нн,мм);//(5,4);
    Для поз1 = 0 по нн - 1 Цикл
        Для поз2 = 0 По мм - 1 Цикл
Генератор = Генератор + 1;
            Матрица[поз1][поз2] = Генератор;//.СлучайноеЧисло(1,100);
        КонецЦикла;
    КонецЦикла;

    Сообщить("Исходный массив:");
    Для поз1 = 0 по нн - 1 Цикл
Значения = "";
        Для поз2 = 0 По мм - 1 Цикл
Значения = Значения + Матрица[поз1][поз2] + ", ";
        КонецЦикла;
        Сообщить(Значения);
    КонецЦикла;


    НовМатрица =Новый Массив(мм, нн);//(4,5);
    Для поз1 = 0 по нн - 1 Цикл
        Для поз2 = 0 По мм - 1 Цикл
            НовМатрица[поз2][поз1] = Матрица[поз1][поз2];
        КонецЦикла;
КонецЦикла;

//вывод матрицы 2
Сообщить("транспонированный массив:");
    Для поз1 = 0 по мм - 1 Цикл
Значения = "";
        Для поз2 = 0 По нн - 1 Цикл
Значения = Значения + НовМатрица[поз1][поз2] + ", ";
        КонецЦикла;
        Сообщить(Значения);
    КонецЦикла;


Большое спасибо! так у Вас все классно получается...


Теги:
 

Получить номер недели в месяце в запросе [номер недели]

Автор MuI_I_IkaРаздел Алгоритмы

Ответов: 0
Просмотров: 8393
Последний ответ 15 Июл 2015, 18:24
от MuI_I_Ika
как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3

Автор JalibРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2578
Последний ответ 02 Дек 2016, 12:58
от Jalib
Как в ВПФ справочника получить реквизит другого справочника

Автор Вадим ФРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1326
Последний ответ 26 Июн 2018, 14:09
от Вадим Ф
Получить реквизиты документа из другого документа

Автор User10Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 10
Просмотров: 2411
Последний ответ 07 Ноя 2018, 14:41
от alexandr_ll
Получить в СКД Строку "ВсегоПродаж"

Автор DeepushkaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 761
Последний ответ 21 Янв 2019, 16:57
от Deepushka

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

DmitriyF DmitriyF
31 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
28 Сообщений
alexandr_ll
20 Сообщений
MuI_I_Ika MuI_I_Ika
17 Сообщений
LexaK
10 Сообщений
antoneus antoneus
10 Сообщений
Дидар Оразалы Дидар Оразалы
9 Сообщений
gribok
9 Сообщений
Yamuna
9 Сообщений
Каримдат Каримдат
7 Сообщений

* Кто онлайн

  • Точка Гостей: 356
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal