Другие языки программирования и технологии

Напишите пожалуйста программу в паскале. Дана строка символов,определить количество слов,начинающихся с заданного символа

Михаил
Михаил
134
В этой программе не учтен регистр букв. Т. е. в выражении "Мама мыла раму" программа выдаст одно слов с буквы "М", а в выражении "Мама Мыла раму" -2 слова. Если нужно учитывать регистр - пишите на мыло. Перепишу
program program1;
var s:string;c:char;p,k:byte;
begin
write('s=');
readln(s);
write('c=');
readln(c);
k:=0;
p:=pos(' ',s);
while p<>0 do
begin
if s[1]=c then k:=k+1;
s:=copy(s,p+1,length(s));
p:=pos(' ',s);
end;
writeln('k=',k);
end.
Александр Писаненко
Александр Писаненко
8 321
Лучший ответ
А где твой код? ?

Править же нечего
Сергей Сергеев
Сергей Сергеев
75 320
Если исходная строка является набором слов, каждое слово отделяется пробелом, то первое: мы вычленяем сами слова из текста- словом будет являтся набор символов, заключенных между первым символом в строке и пробелом, второе: Сравниваем первый символ слова с нужным нам и, если они совпадают, наращиваем счетчик.

Пример простой программы:

...
var
s:string; //Исходная строка
p:Char; //Искомый символ
n:Integer; //Счетчик

begin
writeln('Vvedite text');
readln(s); //Заполняем строку
writeln('Vvedite simvol');
readln(p); //Задаем символ
s:=s+' '; //Ищем слова от начала до пробела, поэтому предостегегаемся и добавляем пробел в конец строки
n:=0; //Обнуляем сетчик

while s<>'' do //Пока строка не пуста
begin
if s[1]=p then //String-это своеобразный массив символов, и мы можем обращатся к любому от 1 до последнего по
//его индексу
inc(n); //Если первый символ является искомым-наращиваем счетчик
delete(s,1,pos(' ',s)); //Удаляем из строки слово
end;

writeln('Vsego ',n,' slov na simvol "',p,'"');//Выводим результат работы
readln; //Придерживаем приложение, чтобы успеть прочитать результат

end.

Всего наилучшего.
Valentin Salinder
Valentin Salinder
285
А где код?