V1s1ter

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору SERGE_BLIZNUK PuzzleW Цитата: так расскажите нам, как решить эту "простую" задачку... | Собствено как обещал. Обращаю внимание, что в коде считается, что два файла содержат одинаковое количество цифр. Кому надо пусть дополнит алгорилм - это довольно просто. Я же преследую цель показать, что особых ресурсов для слодение сколь угодно больших чисел не требуется. Если я ошибся - ткните носом. Код: program Project4; {$APPTYPE CONSOLE} uses SysUtils; var FA, FB, FR: TextFile; i, A, B, R1, R2, Q: Integer; begin AssignFile(FA, 'E:\FA.TXT'); AssignFile(FB, 'E:\FB.TXT'); AssignFile(FR, 'E:\FR.TXT'); Reset(FA); Reset(FB); Rewrite(FR); if not Eof(FA) then begin ReadLn(FA, A); ReadLn(FB, B); R1 := A+B; if R1 > 9 then begin WriteLn(FR, 1); R1 := R1-10; end; while not Eof(FA) do begin ReadLn(FA, A); ReadLn(FB, B); R2 := A+B; if R2 < 9 then WriteLn(FR, R1) else if R2 > 9 then begin R1 := R1+1; R2 := R2-10; WriteLn(FR, R1); end else begin Q := 0; repeat Q := Q+1; ReadLn(FA, A); ReadLn(FB, B); R2 := A+B; until (R2 <> 9) or Eof(FA); if R2 <= 9 then begin WriteLn(FR, R1); for i := 1 to Q do WriteLn(FR, 9); end else begin R1 := R1+1; R2 := R2-10; WriteLn(FR, R1); for i := 1 to Q do WriteLn(FR, 0); end; end; R1 := R2; end; WriteLn(FR, R1); end; CloseFile(FA); CloseFile(FB); CloseFile(FR); end. | |