Algofil

Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата:Согласен, моя ошибка в том что решение не доведено до конца, показан только путь получения разложений, как найти 2 разложения дающие одну и ту же сумму (то что она будет наименьшей понятно из метода) не разжевано, точнее я не уловил лепоты... писать компилируемый код мне было неинтересно, задача тривиальная, мы же тут на добровольных началах, т.е. пока мне интересно - я предлагаю идеи, в коде могу поупражняться если придумал что то красивее и компактнее уже предложенного... Цитата: Зря ты так. Я условия написал точно в таком виде, в каком получил. | Согласен, но и ты неправ предполагая "нечто" вместо необходимого уточнения условия. Представь что ты получил задание "напишите программу выдающую платежное поручение" и на каждый релиз получаешь новые уточнения, что читать, откуда, как считать, что выводить, в каком порядке, куда и т.п. Цитата: НАРОЩЕНИЕ ТОЖЕ ЗАПИСАл прально, а не так как вы | воистину жжошь! а че ты решил шо у меня неверно? вот скрин исполнения: Цитата: ■ Free Pascal IDE Version 1.0.10 [2007/09/09] ■ Compiler Version 2.2.0 ■ GBD Version GDB 6.2.1 ■ Cygwin "C:\FPC\2.2.0\bin\i386-win32\cygwin1.dll" version 1005.18.0.0 Running "c:\fpc\2.2.0\bin\i386-win32\1.exe " Hello, world! Get integer -> 15192 Get digit for deleting -> 1 295 | что тут не так? вот листинг, раз уж ты думаешь что мне лень нажать пару клавиш Цитата: program noname01; var ce1, ce2:string; en1:integer; be1:char; begin write('Hello, world! Get integer -> ');//число readln(en1); write('Get digit for deleting -> '); readln(be1); str(en1,ce1); en1:=length(ce1); while en1>0 do begin if ce1[en1]<>be1 then ce2:=ce2+ce1[en1]; dec(en1); end; writeln(ce2); end. | Добавлено: Цитата: БЕЗ строковых типов и массивов... | здрасьте пожалста, я этого в первый раз не заметил? или это другая задача? уточнение 31.10.07 17:26: перечитал твое условие: "Вводится натуральное число N и цифра А. Требуется получить новое число N1, вычёркивая из числа N цифру А и одновременно меняя порядок следования цифр числа N на обратный. Например: N=1215, A=1.......N1=52; N=125, A=9..............N1=521..." так это гониво насчет "без строковых" скажи преподу шо он дебил, "цифра" это всегда чар, а чар не бывает не строковый... я бы всех преподов математики и т.п. увольнял бы без выходного пособия с первой же ошибки в категории цифра/число, это то же самое что буху дебет с кредитом спутать, даж хуже... Добавлено: Цитата: Помогите, пожалуйста! Мне нужно организовать контроль ввода данных для уже готовой программы. | uses crt; const digit:set of char = ['0','1','2','3','4','5','6','7','8','9']; var c:char; cheslo:string; begin while c<>#27 do begin c:=readkey; if c in digit then cheslo:=cheslo+c; end; writeln; writeln(cheslo); end. прога минимальо фунциклирует, т.е. игнорит все символы кроме цифр, ввод продолжается пока не нажмешь ескейп, контроль остальных приколов делай сам, навскидку могу посоветовать контролить на каждом шаге строку с помощью реткода функции вал, если не ноль, знач клиент хитрит - откати строку на шаг назад ну и другие приколы | Всего записей: 247 | Зарегистр. 19-09-2007 | Отправлено: 09:51 31-10-2007 | Исправлено: Algofil, 18:29 31-10-2007 |
|