|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.03.2015, 17:19 | #1 |
Новичок
Джуниор
Регистрация: 14.03.2015
Сообщений: 1
|
XML файл в AkelPad - задание от препода, помогите пожалуйста
Как и чем сделать перемножение во множестве текстовых файлов считывая значение перемножаемых чисел по условию и перезаписать результат вместо второго считываемого числа, не трогая остальной текст?
Есть текстовые файлы(несколько десятков), в них есть по сотне записей с группами, в группах расписаны шансы на выпадение самой группы, а так же внутри каждой из групп есть индивидуальные шансы на каждый итем входящий в эту группу, нужно привести множество текстовых файлов, содержащих такие строки ко второму виду, где индивидуально раписаны шансы каждого итема. И этот шанс получен перемножением индивидуального шанса этого итема на шанс группы в которой этот итем находится. Не трогая остальной текст, содержащийся в файлах. Строки с групповыми шансами можно не удалять(если сделать это после, создав единую группу с шансом 100% на каждый список итемов). Оригинал: некий текст <group chance=«aa»> <текст итема1" chance=«bb» /> </group> <group chance=«cc»> <текст итема2 " chance=«dd» /> <текст итема3 " chance=«ee» /> <текст итема4 " chance=«ff» /> <текст итема5 " chance=«gg» /> </group> <group chance=«hh»> <текст итема6 " chance=«ii» /> <текст итема7 " chance=«jj» /> </group> некий текст Пример: Сделать из записи вида: group 1 =60% item 1 = 20% item 2 = 80% group 2 = 50% item 3 = 10% item 4 = 30% item 5 = 20% item 6 = 2% group 3 = 20% item 7 = 90% item 8 = 80% Такую запись: item1 = 12% item2 = 48% item3 = 5% item4 = 15% item5 = 10% item6 = 1% item7 = 18% item8 = 16% Результат: некий текст <group chance=«aa»> <текст итема1 " chance=«aa*bb» /> </group> <group chance=«cc»> <текст итема2 " chance=«cc*dd» /> <текст итема3 " chance=«cc*ee» /> <текст итема4 " chance=«cc*ff» /> <текст итема5 " chance=«cc*gg» /> </group> <group chance=«hh»> <текст итема6 " chance=«hh*ii» /> <текст итема7 " chance=«hh*jj» /> </group> некий текст А если можно — такой результат: некий текст <group chance=«100%»> <текст итема1 " chance=«aa*bb» /> <текст итема2 " chance=«cc*dd» /> <текст итема3 " chance=«cc*ee» /> <текст итема4 " chance=«cc*ff» /> <текст итема5 " chance=«cc*gg» /> <текст итема6 " chance=«hh*ii» /> <текст итема7 " chance=«hh*jj» /> </group> некий текст При этом aa*bb должно быть непосредственно результатом перемножения. Примерный алгоритм, возможно совершенно не верный, просто то, что мне пришло в голову.. 0) переменная «групшанс» по умолчанию =1 1)читаю текст, нахожу фразу group chance, считываю всё, что после =" и до второй " в переменную «групшанс» 1.5)умножаю переменную «групшанс» на 0.01(так как надо значение в процентах перевести в значение в долях то есть 100% = 1, 50%=0.5, 0.5%=0.005 и тд) 2)далее умножаю встречающееся мне число, расположенное после " chance=" и до второй кавычки " на переменную «групшанс» и перезаписываю полученный результат вместо исходного числа 3)далее проверяю, нет ли строки group chance, если есть, то возвращаюсь к пункту 1), если нет, то к пункту 2), если же встречаю фразу </group> то записываю в переменную «групшанс» число 1 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подскажите пожалуйста ...как внести изменения в существующий XML файл в Delphi 7 XMLDocument | Igor_kud | Общие вопросы Delphi | 2 | 05.10.2013 16:07 |
Атака ПРЕПОДА! Помогите студенту! | wowka_khb | Помощь студентам | 1 | 02.04.2009 15:46 |
Помогите исправить прогу так чтобы препода удовлетворяла))) | 812 | Помощь студентам | 3 | 25.05.2008 12:34 |
пожалуйста помогите сделать задание 2 | Banko | Общие вопросы C/C++ | 17 | 27.01.2007 16:38 |