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

Массивы и циклы

Автор SHARAYOB, 17 фев 2016, 20:06

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

SHARAYOB

Добрый вечер! Помогите новичку, разбираюсь с массивами, появилась задача: Создал массиви вывел значения от 1 до 1000, теперь нужно написать код чтоб найти максимальное и минимальное значение и показать их в сообщении!

angelivoin

Все просто. Перебираем массив и если массив>мах тогда мах=массив если массив<мин тогда
мин=массив и в итоге найдем два числа мак и мин.

дфтын

Макс(элементымассивачереззапятую);
минимум аналогично
можно еще в запрос загнать..

SHARAYOB

Спасибо большое за помощь! Я приблизительно понимал как в теории сделать, но не понимаю как описать все это дело в цикле!

Luzer1C

МаксЭлемент = 0;
Для каждого ЗначениеМассива Из Массив Цикл
    Если ЗначениеМассива.ИмяПоказателя > МаксЭлемент Тогда
        МаксЭлемент = ЗначениеМассива.ИмяПоказателя;
    КонецЕсли;
КонецЦикла;

Такая простая хрень. С минимумом примерно так же.
Ну  это код для начинающих лузеров.
Халамбалам.

cska-fanat-kz

Цитата: Luzer1C от 18 фев 2016, 05:40ЗначениеМассива.ИмяПоказателя

что за "ИмяПоказателя"?
"Если ЗначениеМассива > МаксЭлемент Тогда"
и все...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Luzer1C

Точно. Главное суть решения.:mellow:
Халамбалам.

SHARAYOB

Спасибо всем большое за помощь!

LexaK


как вариант, вот еще простой и понятный алгоритм, с возможными проверками


Процедура АнализМассива(ВашМассив)

//проверка на то что это вообще массив
Если ТипЗнч(ВашМассив) = Тип("Массив") Тогда
//это массив

Если ВашМассив.Количество()=0 Тогда
//пустой массив, сообщаем и ничего не делаем
Сообщить("Пустой массив.");

иначе
//начальное значение переменных
//если в массиве только одно значение,
//оно является одновременно и минимальным и максимальным
    МинЗнч = ВашМассив[0];
    МаксЗнч = ВашМассив[0];

Для каждого лкЗнч Из ВашМассив Цикл
МинЗнч = Мин(МинЗнч, лкЗнч);
МаксЗнч = Макс(МаксЗнч, лкЗнч);
КонецЦикла;

Сообщить("Минимальное значение: " + МинЗнч);
Сообщить("Максимальное значение: " + МаксЗнч);

КонецЕсли;

Иначе
//это не массив
Сообщить("Параметр - не массив!");
КонецЕсли;

КонецПроцедуры

если помогло нажмите: Спасибо!

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

Рейтинг@Mail.ru

Поиск