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

Автор Тема: Массивы и циклы  (Прочитано 2242 раз)

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

Оффлайн SHARAYOB

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-17
  • Сайт: 
  • Профессия: Ученик 1С
Добрый вечер! Помогите новичку, разбираюсь с массивами, появилась задача: Создал массиви вывел значения от 1 до 1000, теперь нужно написать код чтоб найти максимальное и минимальное значение и показать их в сообщении!


Оффлайн angelivoin

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 1
  • КПД: 50%
  • Регистрация: 2015-04-27
  • Сайт: 
  • Профессия: Программист 1С
Re: Массивы и циклы
« Ответ #1: 17 Фев 2016, 20:41 »
Все просто. Перебираем массив и если массив>мах тогда мах=массив если массив<мин тогда
мин=массив и в итоге найдем два числа мак и мин.

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
Re: Массивы и циклы
« Ответ #2: 17 Фев 2016, 20:42 »
Макс(элементымассивачереззапятую);
минимум аналогично
можно еще в запрос загнать..
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн SHARAYOB

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-17
  • Сайт: 
  • Профессия: Ученик 1С
Re: Массивы и циклы
« Ответ #3: 17 Фев 2016, 20:58 »
Спасибо большое за помощь! Я приблизительно понимал как в теории сделать, но не понимаю как описать все это дело в цикле!

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Re: Массивы и циклы
« Ответ #4: 18 Фев 2016, 05:40 »
МаксЭлемент = 0;
Для каждого ЗначениеМассива Из Массив Цикл
    Если ЗначениеМассива.ИмяПоказателя > МаксЭлемент Тогда
        МаксЭлемент = ЗначениеМассива.ИмяПоказателя;
    КонецЕсли;
КонецЦикла;
Такая простая хрень. С минимумом примерно так же.
Ну  это код для начинающих лузеров.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Массивы и циклы
« Ответ #5: 18 Фев 2016, 05:55 »
ЗначениеМассива.ИмяПоказателя

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

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Re: Массивы и циклы
« Ответ #6: 18 Фев 2016, 06:02 »
Точно. Главное суть решения.:mellow:
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн SHARAYOB

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-17
  • Сайт: 
  • Профессия: Ученик 1С
Re: Массивы и циклы
« Ответ #7: 18 Фев 2016, 08:15 »
Спасибо всем большое за помощь!

Оффлайн LexaK

  • *****
  • Сообщений: 1246
  • РЕПУТАЦИЯ: 344
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Re: Массивы и циклы
« Ответ #8: 18 Фев 2016, 09:40 »

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

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

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

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

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

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

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

КонецЕсли;

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

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

Помогло? - Нажми СПАСИБО!!!
                       :)


 


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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

alex0402
92 Сообщений
oleg-x
83 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
Golickoff Golickoff
51 Сообщений
ilyay ilyay
44 Сообщений
AIFrame
42 Сообщений
Амал
30 Сообщений
Dethmontt Dethmontt
22 Сообщений
lansy
22 Сообщений
xproh
21 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal