0 / 0 / 0
Регистрация: 17.07.2012
Сообщений: 12
1

Определить количество слов, начинающихся на заданную букву в строке

17.07.2012, 16:42. Показов 5416. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: определить, количество слов начинающихся на заданную букву в сроке

мое решение:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Var st:string;
s:char;
I,j,c:integer;
begin
writeln('введите строку st:');
readln(st);
writeln('введите букву s:');
readln(s);
st:=st+' ';
repeat
I:=pos(' '+st,st);         //вот тут говорят косяк есть(
if i<>1 then write(st[i]);
until i=1;
c:=0;
for j:=1 to length(st) do
begin
if pos(s,st)<>0 then c:=c+1;
end;
writeln('количество слов= ',c);
readln;
end.
решение нужно именно такое, а не иначе, нужно просто что-то добавить...
заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2012, 16:42
Ответы с готовыми решениями:

Написать программу, которая подсчитывает количество слов начинающихся на заданную букву в заданной символьной строке.
Задание: Написать программу, которая подсчитывает количество слов начинающихся на заданную букву в...

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

Подсчитать в заданной строке количество слов, начинающихся на определенную букву
Создать функцию программиста, которая подсчитывает в заданной строке количество слов, начинающихся...

Определить в строке количество слов, начинающихся на заданную пользователем букву
Добрый день,нужна помощь с заданием.Помогите пожалуйста,хотя бы куском кода) Задание: &quot;Напишите...

9
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
17.07.2012, 16:48 2
Pascal
1
I:=pos(' ',st);         //вот тут говорят косяк есть(
Цитата Сообщение от tiga_vk Посмотреть сообщение
решение нужно именно такое, а не иначе
Это не решение а маразм, если нужно такое, то и бери.
1
0 / 0 / 0
Регистрация: 17.07.2012
Сообщений: 12
17.07.2012, 16:52  [ТС] 3
согласен что бред возможен, но с ним и влип..т.к сам не шарю препод сказал до завтра свое решение исправить.
0
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
17.07.2012, 16:52 4
А вообще это решают так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Var st:string;
    s:char;
    i,c:integer;
begin
writeln('введите строку из слов, разделенных пробелами:');
readln(st);
writeln('введите букву s:');
readln(s);
c:=0;
for i:=1 to length(st) do
if(st[i]=s)and((i=1)or(st[i-1]=' ')) then c:=c+1;
write('количество слов на букву ',s,'= ',c);
readln;
end.
1
0 / 0 / 0
Регистрация: 17.07.2012
Сообщений: 12
17.07.2012, 16:53  [ТС] 5
т.е все решение просто забыть и делать иначе?

Добавлено через 30 секунд
большое спасибо тебе.
0
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
17.07.2012, 16:54 6
Смысл какой? Пусть слова разделены пробелами, хоть по сколько. Тогда нужное слово это введенная буква+она первая в строке или перед ней пробел. Вот и все.
0
0 / 0 / 0
Регистрация: 17.07.2012
Сообщений: 12
17.07.2012, 16:57  [ТС] 7
понимаешь, я поэтому тут и написал(я чайник и т.п.)
уверен,что твое решение мне зачтут и наконец закрою долг
0
Фрилансер
3417 / 2814 / 3000
Регистрация: 08.02.2012
Сообщений: 8,549
Записей в блоге: 1
17.07.2012, 17:16 8
Если исходить из твоего решения то вот так должно быть всё...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Var st,st1:string;
s:char;
i,c:integer;
begin
write('введите строку st: ');
readln(st);
write('введите букву s: ');
readln(s);
st:=st+' ';c:=0;
While Pos(' ',st)<>0 do {Пока есть пробелы в строке делаем}
 Begin
  st1:=Copy(st,1,Pos(' ',st)-1);{В строку st1 копируем слово до пробела}
  if st1[1]=s then inc(c);{Если первая буква слова st1=введенному символу то увеличиваем на 1 c}
  Delete(st,1,Pos(' ',st));{Удаляем слово из строки st вместе с пробелом}
 End;
if c<>0 then writeln('количество слов= ',c) else writeln('Нету слов начинающихся на букву "',s,'" !');
readln;
end.
1
0 / 0 / 0
Регистрация: 17.07.2012
Сообщений: 12
18.07.2012, 10:11  [ТС] 9
кстати, да. в первом решении недоработка.
там если нет такого слова, то выводит 0, а если есть, то в любом случае пишет "1"
(т.е. хоть их там 10, хоть 5)
0
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
18.07.2012, 10:25 10
Цитата Сообщение от tiga_vk Посмотреть сообщение
в первом решении недоработка.
Это в каком в первом?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2012, 10:25
Помогаю со студенческими работами здесь

Определить количество слов, начинающихся на заданную букву
Доброе время суток) проблема такова: ввести предложение определить количество слов начинающихся на...

Как определить количество слов в строке, начинающихся и заканчивающихся на одну и ту же букву
Здравствуйте. Помогите пожалуйста с программным кодом задания: В заданной строке, состоящей из...

В заданной строке определить количество слов, начинающихся и заканчивающихся на одну и ту же букву
&quot;В заданной строке определить количество слов, начинающихся и заканчивающихся на одну и ту же...

Подсчитать количество слов начинающихся на заданную букву
Нужно подсчитать количество слов,начинающихся на К. Где ошибка? #include &lt;iostream&gt; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru