|
Как получить элемент из массива и сравнить его с другим элементом? 🠗 (длинная ветка 06.12.2013 16:36) | ☑ | ||
---|---|---|---|---|
0
shevalie92
04.12.13
✎
01:58
|
Как получить элементы из массива? и поменять их местами!
СзМассив(А,Б,В,Г,Д,) мне нужно получить из СзМассив элементы Г,Д и поменять их местами! например: СзМассив(А,Г,В,Д,Б,) |
|||
437
Wobland
06.12.13
✎
07:08
|
(436) конец ровно в строчке КонецЦикла. сходи в меню отладка, открой для себя пошаговое исполнение
|
|||
438
Wobland
06.12.13
✎
07:09
|
вспоминается ещё, как Ли Вонг(?) возрадовался до плеши
|
|||
439
Wobland
06.12.13
✎
07:10
|
+(438) «С другом по магазинам» @ http://lurkmore.to/Ли_Вонг_Ян
|
|||
440
shevalie92
06.12.13
✎
07:10
|
а как открыть я только не понял нажимаем стоп откладку красную точку ставим и ф11?
|
|||
441
Любопытная
06.12.13
✎
07:11
|
(434) Все начинают с пузырька потому что это примитив. Не надо ничего придумывать - все логично.
(440) Шагай к своему учителю, пусть он тебя учит |
|||
442
Wobland
06.12.13
✎
07:13
|
экая она разозлилась. хорошо, что меня со вчерашней "лошадью" пронесло ;)
|
|||
443
shevalie92
06.12.13
✎
07:16
|
забыл спросить ладно в гуглал найду не хочу потревожить его по пустякам у него тоже есть своя жизнь я благодарен ему что помогает и признателен поэтому я так усердно пытаюсь понять что к чему и он насовсем учитель но преподает мне уроки и я этому рад
|
|||
444
craxx
06.12.13
✎
07:18
|
(441) не знаю, мне рекурсивная сортировка больше нра
|
|||
445
shevalie92
06.12.13
✎
07:19
|
wild и любопытная из вас тоже вышли отличные учителя если я вас понял 80% то уверен другие поймут на все 100% ^_^
|
|||
446
skunk
06.12.13
✎
07:21
|
(431)в винде аккардеон к мыши приделывается на раз два
|
|||
447
Wobland
06.12.13
✎
07:21
|
(444) когда я первый раз смотрел на визуализацию бого, думал "ах ни хрена ж себе, что творят! щас бац - и одним лёгким движением в конце всё упорядочат"
|
|||
448
shevalie92
06.12.13
✎
07:22
|
пора модераторам закрыть эту ветку странно что не банили ветку не удалили . смирились наверняка что я освоил аномаизер)))
|
|||
449
Wobland
06.12.13
✎
07:22
|
(446) это после визуализации сортировок ;)
|
|||
450
shevalie92
06.12.13
✎
07:24
|
а сколько лет форума миста смотрю некоторые давно зарегистрированные
|
|||
451
Любопытная
06.12.13
✎
07:25
|
(444) Леш, ты явно гораздо умнее меня) Я, при первой встрече с массивами в 9м классе на занятиях в кружке, придумала только пузырек)
|
|||
452
shevalie92
06.12.13
✎
07:27
|
wild 17 октября 2006; Стаж: 7 лет 1 месяц 20 дней
7 лет многовато ты наверняка привык к форум миста боюсь представить если тебя забанет))) |
|||
453
Wobland
06.12.13
✎
07:33
|
(452) а чо такого? бывало. за "с вас 500 рублей", за "блин", за сузуки для катены даже страдал ;)
|
|||
454
Wobland
06.12.13
✎
07:37
|
вы мне лучше скажите, откуда у меня в перед открытием кнопка на форме с режимом меню оказывается заполненной? 8.1
|
|||
455
shevalie92
06.12.13
✎
07:37
|
ты это кому отвечал )) и что за непонятные цифры в переди (452) давно хотел спросить это типа к кому отвечаешь
|
|||
456
Wobland
06.12.13
✎
07:37
|
+(454) первая строка перед открытием, есессно
|
|||
457
Wobland
06.12.13
✎
07:38
|
(455) истинно так. кнопки под ником даже нажимаются
|
|||
458
Любопытная
06.12.13
✎
07:49
|
(456) Нету у меня ни одной базы 8.1, чтобы разгадать твою чудесную загадку
|
|||
459
Wobland
06.12.13
✎
08:04
|
(458) ну ты же правильно сказала, что нарисовано прямо в форме. нужно развивать свою технику мышиного тычка
|
|||
460
Любопытная
06.12.13
✎
08:09
|
(459) т.е. ты просто не до ткнул? (недоткунл/ не доткнул?)
|
|||
461
1Сергей
06.12.13
✎
08:11
|
(460) не с глаголами
|
|||
462
Любопытная
06.12.13
✎
08:13
|
(461) не я в курсе, а до?
|
|||
463
Wobland
06.12.13
✎
08:15
|
не доткнул. проверочное слово не докрасил
|
|||
464
Wobland
06.12.13
✎
08:16
|
а недоткнул - это зверь какой-то семейства сумчатых
|
|||
465
Любопытная
06.12.13
✎
08:18
|
(464) мне его жалко. С таким-то именем...
|
|||
466
1Сергей
06.12.13
✎
08:18
|
(463) о_О
|
|||
467
Repey
06.12.13
✎
08:23
|
(464) Недотыкомка? Это, вроде как , нечто иное.
|
|||
468
Wobland
06.12.13
✎
08:26
|
(467) недотыкомка - это из ряда (439): "В магазине мы имели один бутылка, много молоки, хлебу, *опку, поридж, кока, еда квашеный, гризли сущеный, карасик и другие овощи."
|
|||
469
Сергей Д
06.12.13
✎
09:15
|
Надо ж, ветка еще жива. Это вместо пятничной что ли?
|
|||
470
Мимохожий Однако
06.12.13
✎
09:16
|
Дотянул таки до заветной
|
|||
471
1Сергей
06.12.13
✎
09:19
|
(469) не сместо, а паралельно
|
|||
472
1Сергей
06.12.13
✎
09:19
|
*не вместо
|
|||
473
Wobland
06.12.13
✎
09:39
|
да занавес уже. автор избрал сортировку глупца. сложность ровно на порядок больше пузырьковой: n^3 против n^2
wiki:Глупая_сортировка |
|||
474
catena
06.12.13
✎
10:18
|
(469)Соревнуемся. Екатерина пятничную ветку делала часов до 4 вечера.
|
|||
475
1Сергей
06.12.13
✎
13:51
|
(473) + http://habrahabr.ru/post/204968/
|
|||
476
Wobland
06.12.13
✎
14:08
|
(475) как грится, 10х
далеко не разбегайтесь, планирую хоть что-нибудь на выходных заделать ;) |
|||
477
shevalie92
06.12.13
✎
14:59
|
ребята у меня вопрос а как запустить индекс например с 5 до 1 типа наоборот?
массив.количество=индекс+5 потом снижаемся на один меньше до 1 типа -1? или как? |
|||
478
shevalie92
06.12.13
✎
15:00
|
или индекс = 5 -1
|
|||
479
bvg
06.12.13
✎
15:03
|
(477) ага, прям так и пиши)
|
|||
480
shevalie92
06.12.13
✎
15:04
|
я сериёзно
|
|||
481
1Сергей
06.12.13
✎
15:05
|
(477)
|
|||
482
shevalie92
06.12.13
✎
15:06
|
индекс = 5;
индекс = М.Количество -1 так? |
|||
483
shevalie92
06.12.13
✎
15:06
|
спосибо
|
|||
484
bvg
06.12.13
✎
15:20
|
закончились вопросы? очень странно )
|
|||
485
shevalie92
06.12.13
✎
15:25
|
походу неправильно)))налукавел))
|
|||
486
bvg
06.12.13
✎
15:51
|
(485) расскажи, как ты понял, что неправильно)
|
|||
487
shevalie92
06.12.13
✎
15:58
|
Для индекс =-5 по -1 Цикл
Инд = -ы; ... Конец Цикла; не может быть -5 если индекс = 0 тогда он начинает с цифрой 1 если укажем +1 если индекс = 5 тогда он начинает с цифрой 5 и мы укажем -1 будет уже 4321 Для индекс = 5 по -1 Цикл думаю будет как-то так! |
|||
488
1Сергей
06.12.13
✎
16:00
|
(487) Для индекс =-4 по 0 Цикл
|
|||
489
Wobland
06.12.13
✎
16:01
|
(487) ты там чего такое задумал?
|
|||
490
shevalie92
06.12.13
✎
16:03
|
дойти до индекс 9 один круг потом обратно с 9 но тоже сортировать в одном слове ^_^ Шейкерная сортировка
|
|||
491
Wobland
06.12.13
✎
16:04
|
(490) не до 9, а до Н
|
|||
492
shevalie92
06.12.13
✎
16:05
|
до н и указать н-1
|
|||
493
shevalie92
06.12.13
✎
16:09
|
wild ну скажи плиз как запустить откладку с красной точкой
|
|||
494
shevalie92
06.12.13
✎
16:16
|
все нашел))
|
|||
495
Wobland
06.12.13
✎
16:18
|
(490) Шелла штоль?
(494) шифт+ф9 покажет тебе значения переменных. ну или в табло |
|||
496
shevalie92
06.12.13
✎
16:21
|
нашел как пройтись с красной точкой
|
|||
497
Wobland
06.12.13
✎
16:24
|
везёт тебе. многие тут так и не освоили
|
|||
498
shevalie92
06.12.13
✎
16:32
|
щяс код поставлю с Шейкерная сортировка скажешь если правильный
молодец^_^ если я на правильном пути скажешь КонецБлизок иначе ))) скажешь конецНеБлизок ок ты таким образом мне поможешь) |
|||
499
Псих
06.12.13
✎
16:36
|
не ожидал что тема так вырастет.
жгите дальше. |
|||
500
Псих
06.12.13
✎
16:36
|
пицот,чего уж там.
|
|||
501
Wobland
06.12.13
✎
16:36
|
писот!
|
|||
502
Wobland
06.12.13
✎
16:36
|
(500) фу, грязный читер
|
|||
503
Псих
06.12.13
✎
16:36
|
мимо ;)
|
|||
504
Псих
06.12.13
✎
16:37
|
не надо оскорблений, так получилось
|
|||
505
Псих
06.12.13
✎
16:37
|
интересно, чем сейчас занимается наш пациент...
|
|||
506
Принт
06.12.13
✎
16:43
|
любители тянуть резину за хвост..
|
|||
507
Серго62
06.12.13
✎
16:44
|
(495) Не, не Шелла. Двунаправленная пузырьковая сортировка по другому называется.
|
|||
508
shevalie92
06.12.13
✎
16:48
|
http://habrahabr.ru/post/204600/ 3 сортировка из списка
|
|||
509
shevalie92
06.12.13
✎
17:02
|
&НаКлиенте
Функция МассивЧисел() МассивЧисел = Новый Массив(); МассивЧисел.Добавить(3); // и = 0 МассивЧисел.Добавить(1); // и = 1 МассивЧисел.Добавить(5); // и = 2 МассивЧисел.Добавить(0); // и = 3 МассивЧисел.Добавить(7); // и = 3 МассивЧисел.Добавить(12); // и = 3 МассивЧисел.Добавить(22); // и = 3 МассивЧисел.Добавить(9); // и = 3 Индекс = 0; МассивЧиселКоличество = МассивЧисел.Количество() - 2; // - 2 потомучто доходим до предпоследнего элемента, НЕ ПОСЛЕДНЕГО!!! Пока Индекс <= МассивЧиселКоличество Цикл // идем по массиву, сравниваем значение элемента массива со следующим значением элемента Если МассивЧисел[Индекс] > МассивЧисел[Индекс+1] Тогда // поменять местами значения ВременнаяПеременная = МассивЧисел[Индекс+1]; МассивЧисел[Индекс+1] = МассивЧисел[Индекс]; // здесь мы получаем такой массив: 3 3 4 0 МассивЧисел[Индекс] = ВременнаяПеременная; // а здесь мы получаем: 2 3 4 0 //Индекс = 0; // начнем обход с начала //Иначе Индекс = Индекс + 1; КонецЕсли; //КонецЦикла; Если МассивЧисел[Индекс-1] > МассивЧисел[Индекс] Тогда ВременнаяПеременная = МассивЧисел[Индекс-1]; МассивЧисел[Индекс-1] = МассивЧисел[Индекс]; МассивЧисел[Индекс] = ВременнаяПеременная; КонецЕсли; Индекс = Индекс - 1;//Двигаем позицию на шаг назад КонецЦикла; КонецЦикла; // выести на экран результат Для Индекс = 0 по МассивЧиселКоличество + 1 цикл Сообщить(МассивЧисел[Индекс]); КонецЦикла; КонецФункции я на правильном пути? |
|||
510
Wobland
06.12.13
✎
17:09
|
там же два цикла. справа налево и слева направо
|
|||
511
shevalie92
06.12.13
✎
17:11
|
там слишком много канецЦицла необрасяите внимание
а так я на правильном пути или совсем плохо |
|||
512
shevalie92
06.12.13
✎
17:13
|
я потом исправлю
МассивЧисел[Индекс-1] > МассивЧисел[Индекс] Тогда ВременнаяПеременная = МассивЧисел[Индекс-1]; МассивЧисел[Индекс-1] = МассивЧисел[Индекс]; МассивЧисел[Индекс] = ВременнаяПеременная; КонецЕсли; Индекс = Индекс - 1;//Двигаем позицию на шаг назад КонецЦикла; КонецЦикла; это правильно Шейкерная сортировка |
|||
513
shevalie92
06.12.13
✎
17:18
|
смотри доделал но у меня бесконечный цикл :(
&НаКлиенте Функция МассивЧисел() МассивЧисел = Новый Массив(); МассивЧисел.Добавить(3); // и = 0 МассивЧисел.Добавить(1); // и = 1 МассивЧисел.Добавить(5); // и = 2 МассивЧисел.Добавить(0); // и = 3 МассивЧисел.Добавить(7); // и = 3 МассивЧисел.Добавить(12); // и = 3 МассивЧисел.Добавить(22); // и = 3 МассивЧисел.Добавить(9); // и = 3 Индекс = 0; МассивЧиселКоличество = МассивЧисел.Количество() - 2; // - 2 потомучто доходим до предпоследнего элемента, НЕ ПОСЛЕДНЕГО!!! Пока Индекс <= МассивЧиселКоличество Цикл // идем по массиву, сравниваем значение элемента массива со следующим значением элемента Если МассивЧисел[Индекс] > МассивЧисел[Индекс+1] Тогда // поменять местами значения ВременнаяПеременная = МассивЧисел[Индекс+1]; МассивЧисел[Индекс+1] = МассивЧисел[Индекс]; // здесь мы получаем такой массив: 3 3 4 0 МассивЧисел[Индекс] = ВременнаяПеременная; // а здесь мы получаем: 2 3 4 0 Индекс = Индекс + 1; КонецЕсли; Если МассивЧисел[Индекс-1] <= МассивЧисел[Индекс] Тогда ВременнаяПеременная = МассивЧисел[Индекс-1]; МассивЧисел[Индекс-1] = МассивЧисел[Индекс]; МассивЧисел[Индекс] = ВременнаяПеременная; КонецЕсли; Индекс = Индекс - 1;//Двигаем позицию на шаг назад КонецЦикла; // выести на экран результат Для Индекс = 0 по МассивЧиселКоличество + 1 цикл Сообщить(МассивЧисел[Индекс]); КонецЦикла; КонецФункции |
|||
514
Wobland
06.12.13
✎
17:19
|
перед самым концом цикла ты сдвигаешь индекс на шаг назад
|
|||
515
shevalie92
06.12.13
✎
17:20
|
wiiild????? скажи правильно?
|
|||
516
shevalie92
06.12.13
✎
17:23
|
поставил +1 Индекс = Индекс - 1;//Двигаем позицию на шаг назад
сортировка неправильное((( |
|||
517
Wobland
06.12.13
✎
17:24
|
н=м.количество();
й=н-1; пока й>0 цикл если м[й]>м[й-1] менять_местами й=й-1 н=н-1 конец цикла; вот так ты пройдёшь один раз. потом так же в обратную сторону: к=0; для й=к по н-1 ... к=к+1; и это дело повторяется, пока к и н не сойдутся в одной точке |
|||
518
shevalie92
06.12.13
✎
17:24
|
придется опять блок схему сделать но у меня нету времени
|
|||
519
Wobland
06.12.13
✎
17:25
|
а тут даже сишный код есть
https://ru.wikipedia.org/wiki/Шейкерная_сортировка |
|||
520
shevalie92
06.12.13
✎
17:25
|
посиб
|
|||
521
Серго62
06.12.13
✎
17:30
|
(519) сейчас у него будет взрыв мозга от сишного синтаксиса...
Всем в укрытие! |
|||
522
shevalie92
06.12.13
✎
17:41
|
к это что
|
|||
523
Wobland
06.12.13
✎
17:42
|
(522) граница слева. н - справа
|
|||
524
shevalie92
06.12.13
✎
17:44
|
блин так сложно :(
|
|||
525
Wobland
06.12.13
✎
17:44
|
кстати, помимо ++ у сей есть do while. у 1с же нету такого, только через пока конеццикла?
|
|||
526
Wobland
06.12.13
✎
17:45
|
(524) можно загнать твой массив в ТЗ, а ТЗ скормить СКД. СКД сама отсортирует
|
|||
527
Wobland
06.12.13
✎
17:48
|
вот получать пачку данных в несколько десятков тысяч записей из соседней базы, прикручивать к ним данные из своей, выводить с нужными группировками, ресурсами и вычисляемыми полями, красить различия в данных из "там" и "из тут", да ещё чтоб за минуту хотя бы сделалось - вот это не так просто. задумайся ;)
|
|||
528
Wobland
06.12.13
✎
17:50
|
(527) в минуту я не уложился вроде. одно подключение к соседней базе занимает секунд 6-8. продажи за месяц у меня секунд 70-80 получаются. плюс вывод
|
|||
529
shevalie92
06.12.13
✎
17:58
|
&НаКлиенте
Функция МассивЧисел() МассивЧисел = Новый Массив(); МассивЧисел.Добавить(3); // и = 0 МассивЧисел.Добавить(1); // и = 1 МассивЧисел.Добавить(5); // и = 2 МассивЧисел.Добавить(0); // и = 3 МассивЧисел.Добавить(7); // и = 3 МассивЧисел.Добавить(12); // и = 3 МассивЧисел.Добавить(22); // и = 3 МассивЧисел.Добавить(9); // и = 3 Индекс = 0; МассивЧиселКоличество = МассивЧисел.Количество() - 2; // - 2 потомучто доходим до предпоследнего элемента, НЕ ПОСЛЕДНЕГО!!! Пока Индекс <= МассивЧиселКоличество Цикл // идем по массиву, сравниваем значение элемента массива со следующим значением элемента Если МассивЧисел[Индекс] > МассивЧисел[Индекс+1] Тогда // поменять местами значения ВременнаяПеременная = МассивЧисел[Индекс+1]; МассивЧисел[Индекс+1] = МассивЧисел[Индекс]; // здесь мы получаем такой массив: 3 3 4 0 МассивЧисел[Индекс] = ВременнаяПеременная; // а здесь мы получаем: 2 3 4 0 Индекс = 0; //здесь надо начнем обход с начала? здесь надо код в обратную сторуну? Иначе Индекс = Индекс + 1; КонецЕсли; КонецЦикла; // выести на экран результат Для Индекс = 0 по МассивЧиселКоличество + 1 цикл Сообщить(МассивЧисел[Индекс]); КонецЦикла; |
|||
530
shevalie92
06.12.13
✎
17:59
|
блин как представлять это(((
|
|||
531
shevalie92
06.12.13
✎
18:04
|
печально но моя не понимает я дохожу до конца круга и не знаю что дальше сделать!
оператор если надо |
|||
532
shevalie92
06.12.13
✎
18:09
|
кажется понял начну я сначала!
|
|||
533
shevalie92
06.12.13
✎
18:10
|
блин зачем стерли часть ветки ((((
|
|||
534
shevalie92
06.12.13
✎
18:41
|
wild посмотри вроде бы все норм а не работает
Функция МассивЧисел() МассивЧисел = Новый Массив(); МассивЧисел.Добавить(3); // и = 0 МассивЧисел.Добавить(1); // и = 1 МассивЧисел.Добавить(5); // и = 2 МассивЧисел.Добавить(0); // и = 3 МассивЧисел.Добавить(7); // и = 3 МассивЧисел.Добавить(12); // и = 3 МассивЧисел.Добавить(22); // и = 3 МассивЧисел.Добавить(9); // и = 3 Индекс = 0; МассивЧиселКоличество = МассивЧисел.Количество() - 2; // - 2 потомучто доходим до предпоследнего элемента, НЕ ПОСЛЕДНЕГО!!! Пока Индекс <= МассивЧиселКоличество Цикл // идем по массиву, сравниваем значение элемента массива со следующим значением элемента Если МассивЧисел[Индекс] > МассивЧисел[Индекс+1] Тогда // поменять местами значения ВременнаяПеременная = МассивЧисел[Индекс+1]; МассивЧисел[Индекс+1] = МассивЧисел[Индекс]; // здесь мы получаем такой массив: 3 3 4 0 МассивЧисел[Индекс] = ВременнаяПеременная; // а здесь мы получаем: 2 3 4 0 КонецЕсли; КонецЦикла; Индекс = Индекс + 1; Если МассивЧисел[Индекс-1] > МассивЧисел[Индекс] Тогда // поменять местами значения ВременнаяПеременная = МассивЧисел[Индекс-1]; МассивЧисел[Индекс-1] = МассивЧисел[Индекс]; МассивЧисел[Индекс] = ВременнаяПеременная; КонецЕсли; Индекс = Индекс - 1; // выести на экран результат Для Индекс = 0 по МассивЧиселКоличество + 1 цикл Сообщить(МассивЧисел[Индекс]); КонецЦикла; КонецФункции |
|||
535
Wobland
06.12.13
✎
19:45
|
вот тебе задача попроще. возьми свой работающий (работающий же?) пузырёк и измени алгоритм так, чтобы оно сортировалось в обратном порядке, от большего к меньшему
|
|||
536
Wobland
09.12.13
✎
10:16
|
закладка
http://habrahabr.ru/post/205290/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |