|
Выборка из таблицы, находящейся в Обработке | ☑ | ||
---|---|---|---|---|
0
Marrog
04.08.12
✎
16:37
|
Задана последовательность положительных целых чисел a1,a2,...,an. Найдите все такие индексы i, что i-ый элемент равен среднему арифметическому всех остальных элементов (то есть всех элементов, кроме него).
Алгоритм решения я придумал, но техническая реализация вызывает у меня вопросы. Я создал обработку и в неё добавил табличную часть с одним реквизитом (с одной колонкой), куда будут вводиться положительные числа. Далее появилась следующая проблема: мне необходимо сложить все числа, введеные в таблицу. Далее мне требуется возможность работать с каждым из чисел по очереди. В силу своих малых знаний, я сначала думал это реализовать следующим образом (на примере справочника) Выборка = Справочники.НазваниеСправочника.Выбрать; Пока Выборка.Следующий() Цикл....... В общем как-то так. Не смейтесь, опыта у меня действительно очень мало. Не могли бы вы подсказать, как можно работать с каждым элементом таблицы по очереди? Буду очень признателен. |
|||
1
Marrog
04.08.12
✎
16:43
|
1с (Версия 8.2)
|
|||
2
Птица
04.08.12
✎
16:52
|
массивИндексов = Новый Массив;
для каждого Строка Из ТаблчнаяЧасть Цикл Если Строка.Число = СреднееВсехЧисел Тогда МассивИндексов.Добавить(Строка.НомерСтроки); КонецЕсли; КонецЦикла; |
|||
3
Marrog
04.08.12
✎
17:52
|
Птица, спасибо огромное!!!
Конструкция: для каждого Строка Из ТаблчнаяЧасть Цикл - выход из положения Только в моей голове никак не укладывается что такое "Строка" т.е., например, если вместо Строка поставить любой другой терм, всё так же будет работать. Т.е. просто получается, что конструкция Для каждого ЛюбойТерм из ТабличнаяЧасть Цикл просто позволяет двигаться по строками Таблицы. Я правильно понял? |
|||
4
Ctyd
05.08.12
✎
14:36
|
правильно понял...
но по условию нужно чу-чуть другое массивИндексов = Новый Массив; СуммаВсех=ТаблчнаяЧасть.Итог("Число"); количество=ТаблчнаяЧасть.Количество()-1; для каждого Строка Из ТаблчнаяЧасть Цикл Если (СуммаВсех-Строка.Число)/количество = Строка.Число Тогда МассивИндексов.Добавить(Строка.НомерСтроки); КонецЕсли; КонецЦикла; |
|||
5
Marrog
10.08.12
✎
01:04
|
Спасибо =) Очень интересно
|
|||
6
H A D G E H O G s
10.08.12
✎
01:05
|
Строка - зарезервированное слово.
Не используйте его как имя переменной, будет путаница. ТекущаяСтрока будет понятнее. |
|||
7
H A D G E H O G s
10.08.12
✎
01:06
|
Вон, она даже красным подсвечивается. Даже Миста негодуэ.
|
|||
8
СноваЗдорова
10.08.12
✎
01:07
|
(7) Спи иди, а то на мистофесте после двух бокалов уснешь
|
|||
9
Marrog
10.08.12
✎
01:46
|
(6) Учтём)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |