Var a: string; words, nums, chars, i, sen: integer; begin readln(a); words := 1; For i := 1 to Length(a) do begin If (a[i] = ' ') then inc(words); if (a[i] in ['0'..'9']) then inc(nums); if (a[i] = #13) then inc(sen); if (a[i] in ['a'..'z', 'A'..'Z', 'а'..'я', 'А'..'Я']) then inc(chars); end; writeln(Words, ' words', #13, Chars, ' chars (', Nums, ' Numbers)', #13, Sen, ' sentences'); end.
Разве что на строки проверить не могу, т.к. у меня только PascalABC, но должно работать =)
А вот так понятнее: 1001110= 1) проставь над каждой цифрой числа справо на лево двойки со степенями т.о. чтобы над первым нулем (справа) стояла 2 в нулевой степени, над единицей - 2 в первой степени, над следующей единицей - 2 во второй степени, и т.д. Т.О над последней единицей (слево) будет 2 в седьмой степени. а теперь смотри как получается число в десятичной: надо сложить произведения этиз двоек на те числа, которые стоят под ними соответственно. итак: 1001110=2в шестой* 1+2в пятой*0+2 в четвертой*0+2 в третьей*1+2 во второй*1+2 впервой*1+2 в нулевой*0 = 64+8+4+2=78
34E=3*16^2+4*16^1+14*16^0=846
,816=8*16^-1 + 1*16^-2 + 6*16^-3=0.50537109375
ответ: 846.50537109375