Количество слов будет на единицу больше количества пробелов, если пользоваться традиционным алгоритмом.
1. Традиционное решение.
// PascalABC.NET 3.1, сборка 1192 от 07.03.2016 var s:string; i,k:integer; begin Write('Введите строку: '); Readln(s); k:=0; for i:=1 to Length(s) do if s[i]=' ' then Inc(k); Writeln('Количество слов равно ',k+1) end.
Результат выполнения программы: Введите строку: А роза упала на лапу Азора Количество слов равно 6
2. Решение срeдствами PascalABC.Net 3.1
// PascalABC.NET 3.1, сборка 1192 от 07.03.2016 begin var s:=ReadlnString('Введите строку:'); Writeln('Количество слов равно ',s.ToWords.Count) end.
Результат выполнения программы: Введите строку: А роза упала на лапу Азора Количество слов равно 6
Решать такие задачи можно несколькими перевод исходного числа в десятичную систему счисления, а затем делением уголком в шестнадцатиричную. Достоинств у этого не вижу, а недостатков масса. представить все цифры исходного числа в двоичном виде и затем собрать четверки цифр получившегося числа в шестнадцатиричном виде:
754(8)=111 101 100 (2), группируем четверками справа: 1 1110 1100, переводим получившиеся числа в группах в десятичную систему счисления. Если получается цифра больше 9, то делаем замену: 10-А, 11- B, 12-C,13-D,14-E,15-F. Получаем: 1(2)=1(16), 1110(2)=E(16), 1100(2)=C(16), итого: 1EC ответ:1EС
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку