markula: Окей. Пусть длина блока 7 бит, а у вас в сообщении 32 бита. Итого вам нужно 5 блоков. В 5 блоков помещается 35 бит. Создаете BitArray на 35 элементов. В первые ячейки копируете ваши биты, 3 последние забиваете нулями. Итого у вас 5 полностью заполненных блоков по 7 элементов.
И да, как заметили выше, у вас странные результаты перевода строки в биты. Строка состоит из символов каждый по байту (или n байт, зависит от кодировки). Так что в любом случае должно получаться 8*k бит. Лучше приведите перевод к классическому, или в алгоритме выше добивайте полученный BitArray битами справа, после дешифровки выкидывая из строки нулевой символ.
Wolfak: Вам не зря ниже написали про массивы UIElement[]. Кроме того, есть кодогенератор Т4, который нужен для случаев с большим числом элементов и\или сложной логикой.
GavriKos Ради этого ожидания приходится открыть инвентарь, взять свиток, идентифицировать шмотку. Ок. Но в большинстве случаев вещь идентифицировалась лишь ради навара. И бесконечные клики лишь утомляли. В Д2 хоть Каин был, сокращал рутину (в PoE, TitanQuest аналогов вроде не было).
В итоге частая рутина ради относительно редких моментов неизвестности.
Вы можете наследовать ваши классы от созданного пустого интерфейса.
public interface AnyInterface{}
public class productA : AnyInterface{...}
public class productB : AnyInterface{...}
public class productC : AnyInterface{...}
public class productD : AnyInterface{...}
Mintormo Строго говоря, иногда я пишу программы, и не думаю об алгоритме. Причина проста: писать алгоритм сразу несколько неудобно, много деталей надо держать в голове, искать возможные ошибки. Проще накатать базовый рабочий код, поглядеть, что получилось (и что говорит Решарпер), потом пару раз пробежаться с тестами и дебагом. Для вспомогательных\тестовых скриптов\утилит это вполне нормальный вариант.
Кое-какой код трехлетней давности и специфической области работает, но его алгоритм я осознать не в состоянии (по крайней мере, с наскоку).
Хочется верить, что с опытом перестаешь задумываться о алгоритмах, и пишешь хороший код на инстинктах. То есть, гуру по Вашему принципу не отличается от новичка. В математике, кстати, такое тоже пару раз замечал.
Увы, там сильно желто.
В первом примере не учитывается, что 18 млн долларов тогда - это далеко не то же самое, что и сегодня.
Во втором на программиста свалили ошибку архитектора (либо ПМ, который отдает архитекторские задачи программисту).
По поводу черного понедельника тоже неясно. Учитывая сумму "потерь", крайней вполне могли выставить программу. Кстати, почему потерь? Кто-то эти 500 лярдов наварил.
"Буря в пустыне" - учитываются только американские жизни. То, что каждая ракета не задела одного иранца (иракца? вечно их путаю), не учитывается. Добавим сюда, что оборудование использовалось в непредназначенном режиме, так что не программистов это вина.
Задача не совсем корректна. Мы не можем по месту в списке определить индекс коэффициента. Значит, нам надо создавать отдельную структуру, которая содержит индекс коэффициента и значение. Как это скажется на производительности и сложности: большой вопрос. В C# есть средства для реализации инкапсуляции, дабы скрывать внутренности многочлена (в данном случае, на листе мы храним коэффициенты, либо на словаре, либо на указателях).
Если все же надо действовать по заданию:
1. Создаем класс Coefficient - реализатор коэффициента. Содержит индекс и значение.
2. Создаем класс Polynom - реализатор многочлена. Содержит конструктор, инициирующий лист как new List()
3. В класс многочлена добавляем метод AddCoefficient(Coefficient coef)
3.1. В класс многочлена добавляем метод GetCoefficient(int index)
4. С помощью метода AddCoefficient реализуем метод AddPolynom(Polynom arg).
5. Вспоминаем про ООП. Скрываем лист коэффициентов в многочлене, реализуем индексатор через GetCoefficient. Организуем перегрузку операторов сложения и вычитания. Гуглим про структуры и перегрузку оператора и методов сравнения.
6. Если обязательно нужны указатели - заменяем лист на интовый (коэффициенты всегда целые?) массив. Четные элементы хранят индексы коэффициентов, нечетные - значения. Заменяем GetCoefficient, делаем SetCoefficient, остальной функционал реализуем через них.
7. Наводим финальный марафет на класс, пишем модульные тесты (это можно сделать и заранее, в идеале - до рефакторинга (пункта 6)).