yurik86
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: var F: text; i, sum: integer; s: string; BEGIN assign (F, 'file.txt'); reset (F); Readln(f, s); i := 1; sum := 0; while (i<=Length(s)) and (s[i] in ['0'..'9']) do begin sum := sum + Ord(s[i])-ord('0'); inc(i); end; WriteLn; if i>Length(s) then begin {в строке нет вообще других символов кроме цифр} Write('Целое число'); if (sum mod 3) = 0 then Writeln(' делится на 3') else Writeln(' не делится на 3') end else {цикл прервался, т.к. встретили какой-то символ, отличный от цифры. Если это пробел - то всё хорошо, иначе - это не целое число} if s[i]=' ' then begin Write('Целое число'); if (sum mod 3) = 0 then Writeln(' делится на 3') else Writeln(' не делится на 3') end else WriteLn('Не целое число (в позиции ',i:1,' встречен символ ',s[i],')'); close(F); readln; END. | Программа считает только первый символ. А как сделать, чтобы считала многозначные числа. Ну, например, 10, 100 и т.п? | Всего записей: 84 | Зарегистр. 28-02-2008 | Отправлено: 15:25 27-06-2010 | Исправлено: yurik86, 16:02 27-06-2010 |
|