Tomsk Sysadmins Forum

Windows => Программирование => Topic started by: blackmask on October 06, 2008, 14:22:38

Title: Посоветуйте с алгоритмом
Post by: blackmask on October 06, 2008, 14:22:38
Опыта у меня мало. Может подскажате алгоритм или натолкнете на мысль  
Задача такая. Есть элементы у которых есть единицы измерения (Ом, В, Вт, Гн и т.д.)
Нужно производить поиск элементов по единицам измерения. Но они могут еще отражать степень т.е (кОм, МОм, кВ, мВ).
Как объяснить проге, что кОм это больше, чем Ом или мВ меньше, чем В.
Причем заранее не известно какие будут единицы измерения и с какими степенями они будут использоваться.
Пока не могу придумать.
Title: Посоветуйте с алгоритмом
Post by: Splurov on October 06, 2008, 14:39:42
Если не известно какие будут ед. измерения и какие будут степени, значит нужно все предусмотреть?
В упрощенном случае что-то типа (псевдокод):
Code: [Select]
baseUnit = 'Ом'
unit = 'кОм'
order = {'м','','к','М'}
wasMiddle = false
for (i in order) {
    if (unit!=baseUnit and substr(unit, 0, 1)==order[i]) {
        if (wasMiddle) {
            // больше
        }
        else {
            // меньше
        }
    }
    elseif (order[i]=='') {
        wasMiddle = true
    }
}
Title: Посоветуйте с алгоритмом
Post by: blackmask on October 06, 2008, 16:49:45
ну да, спасибо. мысль пошла уже