![]() |
|
Сортировка по убывнию | ☑ | ||
---|---|---|---|---|
0
Eugene-3
28.08.13
✎
19:11
|
Здравствуйте!
Зарегистрировался только сегодня, поэтому извините, если не в той секции опубликовал вопрос. А вопрос такой. Мне надо вывсти на экран числа от 20 до 1. Я пишу: Для Счет = 1 По 20 Цикл Сообщить (Счет); КонецЦикла; Счет.СортироватьПоЗначению(НаправлениеСортировки.Убыв); У меня, конечно же, ничего не сортируется. Те, кто проверял, написали мне: "СортироватьПоЗначению - метод списка значений. У вас тут нет списка - только число Счет. У числа нет методов" Я мало, что понял, и по-прежнему, не врубаюсь. Напишите мне, пожалуйста правильный вариант моего кода и я попробую разобраться. |
|||
2
Rie
28.08.13
✎
19:13
|
(0)
Для Счет=-20 По -1 Цикл Сообщить(-Счет); КонецЦикла; и много-много других способов - в зависимости от того, что именно Вам нужно. |
|||
3
Csar
28.08.13
✎
19:19
|
(0) не сортируется т.к. функция Сообщить() посылает текст в окно служебных сообщений, где к нему уже не добраться и не обработать (например, сортировка). Если нужен фильтр, то надо подать числа в массив или таблицуЗначений и уже внутри этой коллекции обрабатывать, а потом каждый элемент выводить на экран черехз Сообщить()
|
|||
4
Csar
28.08.13
✎
19:21
|
(3) офигеть как коряво получилось изъясниться. Готов подробнее рассказать если совсем не понятно.
|
|||
5
Rie
28.08.13
✎
19:29
|
+(3)
Счет = Новый СписокЗначений(); Для н=1 По 20 Цикл Счет.Добавить(н); КонецЦикла; Счет.СортироватьПоЗначению(НаправлениеСортировки.Убыв); |
|||
6
Eugene-3
28.08.13
✎
19:32
|
Csar, да, не совсем понятно.
Что такое окно служебных собщений? И о каком фильтре Вы говорте? Я только-только начал изучать, поэтому мне надо объяснять как-можно проще. Почти на пальцах:) |
|||
7
Eugene-3
28.08.13
✎
19:34
|
Rie, мне по условию можно было использовать только операторы цикла и условные операторы.
|
|||
8
Rie
28.08.13
✎
19:36
|
(7) А я разве что-то ещё использовал?
|
|||
9
vermouth
28.08.13
✎
19:39
|
а в мои годы азам алгоритмов учили на бэйсике и паскале...а теперь на 1С :)
|
|||
10
Eugene-3
28.08.13
✎
19:41
|
Rie, я имел в виду, что нельзя пользовать универсалье коллекции
|
|||
11
Rie
28.08.13
✎
19:42
|
+(8) Непонятна задача, которая перед Вами стоит.
Если просто вывести числа от 20 до 1 - тогда (2). Там как раз цикл - и ничего больше. |
|||
12
Rie
28.08.13
✎
19:46
|
(10) Вы (2) - читали?
|
|||
13
Eugene-3
28.08.13
✎
19:48
|
Rie, а скажите: СортироватьПоЗначению доступно только для СпискаЗначений? Т.е. например, можно это прмиенить к массиву?
|
|||
14
Eugene-3
28.08.13
✎
19:50
|
Rie, кстати, очень понравился вариант с минусами;) Спасибо!!!
Я первый раз написал бе минусов - не получилось: Для Счет=20 По 1 Цикл Сообщить(Счет); КонецЦикла; |
|||
15
Rie
28.08.13
✎
19:52
|
(14) Естественно, не получилось - ибо цикл Для умеет только _увеличивать_ счётчик цикла на 1.
|
|||
16
Rie
28.08.13
✎
20:00
|
(13) СортироватьПоЗначению - только для СпискаЗначений (поскольку у него есть _значения_; можно ещё СортироватьПоПредставлению).
Можно сортировать и ТаблицаЗначений - но там метод называется Сортировать. Для массива метода нет - но можно из массива сделать СписокЗначений, отсортировать его, а затем выгрузить обратно в массив. |
|||
17
vermouth
28.08.13
✎
20:14
|
а так?
Для Счет = 0 По 19 Цикл Сообщить (""+(20-Счет)); КонецЦикла; |
|||
18
Eugene-3
28.08.13
✎
20:28
|
vermouth, это для меня сложно.
Я даже не понимаю, что это все значит:) |
|||
19
Rie
29.08.13
✎
08:18
|
(18) Может, тогда лучше сменить профессию?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |