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

Автор Тема: Сортировка массива  (Прочитано 12671 раз)

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

Оффлайн Герман Штайнер

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-07-15
  • Сайт: 
  • Профессия: Ученик 1С
подскажите пожалуйста как сделать сортировку массива? Поправьте пожалуйста код

n=7;
 arr = Новый Массив (n);
 
arr[0]=9;
arr[1]=15;
arr[2]=3;
arr[3]=23;
arr[4]=5;
arr[5]=6;     
arr[6]=56;

Для j = 0 По n-1 Цикл


Для i = 0 По n-j Цикл

Если arr[j]>arr[j+1] Тогда
k= arr[j];
arr[j]=arr[j+1];
arr[j+1]=k;
КонецЕсли;
КонецЦикла;
КонецЦикла;

Для Каждого d Из arr Цикл
Сообщить("Отсортированный массив: "+d );
    КонецЦикла;




Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2860
  • РЕПУТАЦИЯ: 547
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Герман Штайнер

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-07-15
  • Сайт: 
  • Профессия: Ученик 1С
переделал код как указано в ссылке
n=7;
 arr = Новый Массив (n);
 
arr[0]=21;
arr[1]=4;
arr[2]=1;
arr[3]=5;
arr[4]=23;
arr[5]=12;
arr[6]=18;

Для j = 0 По arr.Количество()-1 Цикл

Для i = 0 По arr.Количество()-j Цикл
Если i = arr.Количество()-1 Тогда
Прервать;
КонецЕсли;

Если arr[i]>arr[i+1] Тогда
st_el = arr[i];
m_el=arr[i+1];
arr[i]=m_el;
arr[i+1]=st_el;

КонецЕсли;
КонецЦикла;
КонецЦикла;

Для Каждого d Из arr Цикл
Сообщить("Отсортированный массив: "+d );
    КонецЦикла;


Заметил такую вещь: если не написать
Если i = arr.Количество()-1 Тогда
Прервать;
КонецЕсли;
то программа не будет выполняться. Почему это происходит? Например в с++ такую проверку делать не нужно!

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Вероятно потому что если i = 6, тогда
 Если arr[i]>arr[i+1] Тогда
тут будет ошибка индекса за пределами значения(точную формулировку не помню). Т.е. программа будет пытаться получить элемент arr[7], которого не существует.

Оффлайн Codokopatel

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 9
  • КПД: 38%
  • Регистрация: 2013-05-02
  • Сайт: 
  • Профессия: Программист 1С
Можно попробовать через использование списка значений.
ПРИМЕЧАНИЕ: Сообщения используются для контроля процесса.
Разработано в 1С 8.2, режим "Управляемое приложение".

&НаКлиенте
Процедура СортировкаМассива(Команда)
// Запонение массива данными
arr = Новый Массив();
arr.Добавить(21);
arr.Добавить(4);
arr.Добавить(1);
arr.Добавить(5);
arr.Добавить(23);
arr.Добавить(12);
arr.Добавить(18);

// *** Вывод списка значений в несортированном массиве
Сообщить("Несортированный массив:");
Для каждого ЭлементМассива из arr цикл
Сообщить(ЭлементМассива);
КонецЦикла;
// ***

// Выгрузка данных из массива в списрк значений
СписокДляСортировки = Новый СписокЗначений();
СписокДляСортировки.ЗагрузитьЗначения(arr);
// Сортировка списка значений по значению элементов
СписокДляСортировки.СортироватьПоЗначению();
// Загрузка сортированного списка обратно в массив
arr = СписокДляСортировки.ВыгрузитьЗначения();

// ** Вывод списка значений в сортированном массиве
Сообщить("Отсортированный массив:");
Для каждого ЭлементМассива из arr цикл
Сообщить(ЭлементМассива);
КонецЦикла;
// ***
КонецПроцедуры


Теги:
 

Сортировка журнала документа по полю "ВидДокумента"

Автор greenLissРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 3203
Последний ответ 25 Июл 2014, 16:45
от greenLiss
сортировка списка в Форме Выбора Печатных Форм Объекта

Автор evgi73Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 5980
Последний ответ 16 Май 2012, 15:38
от evgi73
После обновления в динамическом списке пропала сортировка по наименованию

Автор Arseniy AgeevРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 442
Последний ответ 25 Фев 2017, 18:33
от Arseniy Ageev
Сортировка и кнопка настроить список в табличной части

Автор olegspectrРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3930
Последний ответ 15 Июл 2015, 10:49
от MuI_I_Ika
Сортировка колонок таблицы значений (на форме) по их наименованиям

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 505
Последний ответ 30 Сен 2017, 16:40
от Св Ч

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
102 Сообщений
AIFrame
86 Сообщений
alex0402
34 Сообщений
pavl_vs
23 Сообщений
kiksi
19 Сообщений
alexandr_ll
17 Сообщений
andron81_81
16 Сообщений
Norfolk
15 Сообщений
LexaK
13 Сообщений
MuI_I_Ika MuI_I_Ika
13 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal