Строка вводится с клавиатуры(максимум 99 символов). Первое слово должно быть с маленькой буквы или первая и последняя буквы этого слова не должны совпадать(иначе такое слово как Test не засчитается). Также будет засчитываться одна буква(abc d efg, буква d подходит, так как она и первая и последняя)
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <cstring>
using std::strtok;
using std::strlen;
int main()
{
char a[100], *ptr;
cout << "Enter the string:" << endl;
cin.getline(a, 100);
cout << endl;
ptr = strtok(a, "., ");
while(ptr)
{
if(*ptr == *(ptr + strlen(ptr) - 1))
{
cout << ptr << ' ';
}
ptr = strtok(NULL, "., ");
}
cout << endl;
return 0;
}
Вот примерно так
Объяснение:
var
s, s1: string;
i, k: integer;
begin
write('Введите строку: ');
readln(s);
//s := 'мама папа дед лес поп';
writeln(s);
s := s + ' ';
i := 0;
k := 1;
while i < Length(s) do
begin
inc(i);
if not (s[i] in [' ', ',', '-']) then
s1 := s1 + s[i]
else
begin
if s1[1] = s1[Length(s1)] then
begin
// writeln(s1);
delete(s, k, Length(s1) + 1);
// writeln(s);
end;
inc(k, Length(s1) + 1);
s1 := '';
//writeln(k);
end;
end;
writeln(s);
end.
Поделитесь своими знаниями, ответьте на вопрос:
Известно, что дверь с двумя замками открывается двумя из 4 имеющихся ключей. оцените количество информации в сообщении "дверь открывается ключами номер два и номер четыре". закодируйте его используя наименьшее количество двоичных цифр. ответ я уже знаю и т.д но я так и не понимаю почему 2 или 3 бита оценивщается эта фраза (откуда берется 6 возможных вариантов из фразы? )
Ключ №2 (неважно на самом деле, что именно №2) означает, что выбран один ключ из четырех возможных, т.е. шанс его выбора равен 1/4. Теперь остались три ключа и выбор ключа №4 (опять же, неважно, что именно №4) имел шанс 1/3. Одновременный выбор двух ключей в этих условиях дает шанс (1/4)×(1/3) = 1/12 Количество информации по формуле Хартли составит ㏒₂12≈3.585 бит.