Буду признателен. код на c++: написать программу, которая читает с клавиатуры строку символов, преобразует ее и выводит результат на дисплей. подсчитать количество слов в строке.
#include <iostream> #include <sstream> using namespace std;
int main(){ string str; getline(cin,str); //вводим поток в строку stringstream ss(str); //вводим строку в поток, при этом пробел делит слова на отдельные элементы int i(0); //счётчик while(ss>>str) //пока можно выводить элементы(слова) i++; cout << i; cin.get(); cin.get(); return 0; }
N=2^i где n-мощность алфавита, 2-основание(сколькими символами кодируется символ), i-разрядность(длина числовой строки). Чтобы узнать, достаточно ли мощности алфавита для кодирования, нужно сравнить данную мощность с количеством букв в алфавите. Пример на русском: n-32, а количество наших букв равно 33. Следовательно, нужно взять большую разрядность - не 5, а 6. Тогда мы получаем n-64, чего хватает не только на обозначение букв, но и для знаков препинания. Если вы имели в виду код ASCII, то прогоните по выделенному алгоритму.
Program Digit; Var a, a1, a2, a3: Integer; Label Start; Begin Start: WriteLn('Введите трехзначное число'); ReadLn(a); If (a < 100) Or (a > 999) Then Begin WriteLn('Вы ввели не трехзначное число'); Goto Start; End; a1 := a div 100; a2 := (a - a1 * 100) div 10; a3 := a - a1 * 100 - a2 * 10; If a1 > a3 ThenWriteLn('Первая цифра больше последней') Else Writeln('Последняя цифра больше первой'); If a1 > a2 Then WriteLn('Первая цифра больше второй') Else Writeln('Вторая цифра больше первой'); If a2 > a3 Then WriteLn('Вторая цифра больше последней') Else Writeln('Последняя цифра больше второй'); ReadLn; End.
#include <sstream>
using namespace std;
int main(){
string str;
getline(cin,str); //вводим поток в строку
stringstream ss(str); //вводим строку в поток, при этом пробел делит слова на отдельные элементы
int i(0); //счётчик
while(ss>>str) //пока можно выводить элементы(слова)
i++;
cout << i;
cin.get();
cin.get();
return 0;
}