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

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

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С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2640
  • РЕПУТАЦИЯ: 319
  • КПД: 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
  • РЕПУТАЦИЯ: 40
  • КПД: 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
  • РЕПУТАЦИЯ: 40
  • КПД: 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

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

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

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

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

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

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

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

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

КонецЕсли;

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

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

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


 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
69 Сообщений
alex0402
58 Сообщений
MuI_I_Ika MuI_I_Ika
55 Сообщений
wise wise
47 Сообщений
Сергей Федоров Сергей Федоров
41 Сообщений
ilyay ilyay
39 Сообщений
BuhRust
22 Сообщений
ilnur75
20 Сообщений
magnifico61
20 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal