Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:45

Найти максимальное число в каждой строке матрицы чисел размерностью M*N, заполненной случайными числами, и вывести их квадратный корень

Автор Дмитрий357, 08 дек 2022, 10:14

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

Дмитрий357

Здравствуйте! Помогите решить пжл такую задачу.
Найти максимальное число в каждой строке матрицы чисел размерностью M*N, заполненной случайными числами, и вывести их квадратный корень. Случайные числа должны быть сгенерированы с помощью Генератор Случайных Чисел().Модуль должен работать с матрицей любой размерности (от 1*1 до 1000*10000). Размерность должна задаваться пользователем и результат тоже должен выводится пользователю.

Дмитрий357

Кто поможет? Пожалуйста!

ls600


Дмитрий357

ls600, я других языков не знаю. А 1С только изучаю. Так что это для меня темный лес. Срочно нужна помощь в решении этой задачи

LexaK

Дмитрий357, здесь на сайте есть переход по ссылке на страницу фриланса, там, за умеренную плату решат любую вашу задачу!
(многие так покупают же себе курсовики и тд. сдал и забыл, тем более если предмет не профильный!)
если помогло нажмите: Спасибо!

Denis1010

Дмитрий357, 8.0 или 8.3?

Denis1010

Дмитрий357, Держи, должно работать)

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Матрица");

Генератор = Новый ГенераторСлучайныхЧисел();

// Ввод размер матрицы.
M = 9;
N = 3;

НомерСтроки = 0;
ЦелаяСтрока = "";

Если (M < 1 ИЛИ N < 1) ИЛИ (M > 1000 ИЛИ N > 10000) Тогда

Сообщить("M и N не может быть меньше 1 ИЛИ M не может быть больше 1000 и N не может быть больше 10000");

Иначе

Для Счетчик = 1 По N Цикл

Стр = ТЗ.Добавить();

Для Счетчик2 = 1 По M Цикл
СлучайноеЧисло = Генератор.СлучайноеЧисло(0, 1000);
СлучайноеЧисло = Строка(СлучайноеЧисло);
ЦелаяСтрока = ЦелаяСтрока + СлучайноеЧисло + ",";

КонецЦикла;

ТЗ[НомерСтроки].Матрица = ЦелаяСтрока;

ЦелаяСтрока = "";
НомерСтроки = НомерСтроки + 1;
МаксЧисло = "";
КореньИзЧисла = "";

КонецЦикла;

ТЗМаксЧисло = Новый ТаблицаЗначений;
ТЗМаксЧисло.Колонки.Добавить("МаксЧисло");

Сообщить("МАТРИЦА:");

Для Каждого Стр Из ТЗ Цикл
Сообщить(Стр.Матрица);
НашаСтрока = СокрЛП(Стр.Матрица);
ПолнаяСтрокаПослеОбрез = НашаСтрока;
ОдноЧисло = "";

Для Счетчик3 = 1 По M Цикл

ПозицияСлеша=Найти(ПолнаяСтрокаПослеОбрез,",");
ОдноЧисло = Лев(ПолнаяСтрокаПослеОбрез,ПозицияСлеша-1);
ПолнаяСтрокаПослеОбрез = Сред(ПолнаяСтрокаПослеОбрез,ПозицияСлеша+1,СтрДлина(ПолнаяСтрокаПослеОбрез));

Стр = ТЗМаксЧисло.Добавить();
ОдноЧисло = Число(ОдноЧисло);
Стр.МаксЧисло = ОдноЧисло;

ОдноЧисло = "";

КонецЦикла;

ТЗМаксЧисло.Сортировать("МаксЧисло УБЫВ");

МаксЧисло = МаксЧисло + "Макс: " + ТЗМаксЧисло[0].МаксЧисло + " Корень: " + Sqrt(ТЗМаксЧисло[0].МаксЧисло) + Символы.ПС;
ТЗМаксЧисло.Очистить();

КонецЦикла;

Сообщить(МаксЧисло);

КонецЕсли;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск