В этой программе не учтен регистр букв. Т. е. в выражении "Мама мыла раму" программа выдаст одно слов с буквы "М", а в выражении "Мама Мыла раму" -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.
Другие языки программирования и технологии
Напишите пожалуйста программу в паскале. Дана строка символов,определить количество слов,начинающихся с заданного символа
А где твой код? ?
Править же нечего
Править же нечего
Если исходная строка является набором слов, каждое слово отделяется пробелом, то первое: мы вычленяем сами слова из текста- словом будет являтся набор символов, заключенных между первым символом в строке и пробелом, второе: Сравниваем первый символ слова с нужным нам и, если они совпадают, наращиваем счетчик.
Пример простой программы:
...
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.
Всего наилучшего.
Пример простой программы:
...
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.
Всего наилучшего.
А где код?
Похожие вопросы
- Помогите плизззз! задача в паскале! Дана строка символов. Группы символов, разделенные одним или несколькими пробелами
- Написать программу в VBA:определить во введенном тексте количество слов,начинающиеся с заданной буквы.
- напишите пожалуйста программы по паскалю.
- Напишите пожалуйста программу в паскале
- Напишите пожалуйста программу на паскале!!
- Напишите пожалуйста программу на паскале.
- Напишите пожалуйста программу в паскале
- Напишите, пожалуйста программу в Дельфи. Вывести k (катое) слово строки S.Слово - набор символов, ограниченный пробелами
- Дана строка символов. Признак конца строки "\n" (перевод строки). Строка состоит из слов, разделенных пробелами. Вывести
- Помогите с задачей, пожалуйста! (Delphi) Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков "+" и "-