radeon37
23.05.2010 18:43
Подсчитать сколько слов во фразе «Программа модификации объектных модулей предназначена для внесения изменений в объектные модули» заканчивается на одинаковые буквы. Если таких слов нет, то подсчитать количество букв «п» в тексте.
А что конкретно для этой фразы??
radeon37
23.05.2010 19:43
Цитата(Гость @ 23.05.2010 15:41)

А что конкретно для этой фразы??
Подсчитать сколько слов заканчивается на одинаковые буквы. Если таких слов нет, то подсчитать количество букв «п» в тексте.
Цитата
Подсчитать сколько слов заканчивается на одинаковые буквы.
Ну вот тебя и спрашивают, в том примере, который ты привел,
сколько слов заканчиваются на одну и ту же букву? Одно? Два? Три? Посчитай, и скажи, а не перепечатывай задание... А потом расскажешь КАК считал.
function rav(s:string) : boolean;
begin
if s[1]=s[length(s)] then
rav:=true
else
rav:=false;
end;
type
prob=array[1..128] of integer;
slova=array[1..128]of string;
var
p:prob;
t:slova;
sc,i,k,r,j:integer;
s:string;
begin
readln(s);
s:=' '+s+' ';
k:=1;
for i:=1 to length(s) do
begin
if s[i]=' ' then
begin
p[k]:=i;
k:=k+1
end;
end;
for i:=0 to (k) do
begin
for j:=p[i]+1 to p[i+1]-1 do
begin
t[r]:=t[r]+s[j];
end;
r:=r+1;
end;
for i:=1 to r do
begin
if rav(t[i])=true then
sc:=sc+1;
end;
if sc<>0 then
writeln(sc,' слов начинающихся и заканчивающихся на одну и ту же букву')
else
begin
for i:=1 to length(s) do
begin
if s[i]='П'
then sc:=sc+1;
end;
writeln(sc,' букв "П"';
end;
readln
end.
Чуть ошибся)
Вот так
function rav(s:string) : boolean;
begin
if s[1]=s[length(s)] then
rav:=true
else
rav:=false;
end;
type
prob=array[1..128] of integer;
slova=array[1..128]of string;
var
p:prob;
t:slova;
sc,i,k,r,j:integer;
s:string;
begin
readln(s);
s:=' '+s+' ';
k:=1;
for i:=1 to length(s) do
begin
if s[i]=' ' then
begin
p[k]:=i;
k:=k+1
end;
end;
for i:=0 to (k) do
begin
for j:=p[i]+1 to p[i+1]-1 do
begin
t[r]:=t[r]+s[j];
end;
r:=r+1;
end;
for i:=1 to r do
begin
if rav(t[i])=true then
sc:=sc+1;
end;
if sc<>0 then
writeln(sc,' слов начинающихся и заканчивающихся на одну и ту же букву')
else
begin
for i:=1 to length(s) do
begin
if (s[i]='п') or (s[i]='П')
then sc:=sc+1;
end;
writeln(sc, ' букв "П"');
end;
readln
end.
radeon37
23.05.2010 23:00
не могли бы вы написать код для "заканчивающихся на одинаковую букву")) там получается два слова заканчиваются на букву "а" и два слова на букву "я"...и можно ли сделать без массива?)))))
без массива к сожалению не умею, я только учусь пока))
а насчет букв я чето тебя не понял, чего ты конкретно хочешь
Цитата(radeon37 @ 23.05.2010 20:00)

не могли бы вы написать код для "заканчивающихся на одинаковую букву")) там получается два слова заканчиваются на букву "а" и два слова на букву "я"...
radeon37, ты пойми, что от тебя хотят тут более конкретной постановки задания. Никому неясно, что означает "сколько слов заканчиваются на одинаковые буквы". Это задание можно трактовать двояко. Скажи, что должно быть в ответе к данному примеру. Пока не поставишь условие - какой смысл решать?
варианты ответа такие:
1-й вариант:
6
2-й вариант:
а - 2
и - 2
я - 2
radeon37
25.05.2010 18:54
Цитата(Lapp @ 25.05.2010 2:29)

radeon37, ты пойми, что от тебя хотят тут более конкретной постановки задания. Никому неясно, что означает "сколько слов заканчиваются на одинаковые буквы". Это задание можно трактовать двояко. Скажи, что должно быть в ответе к данному примеру. Пока не поставишь условие - какой смысл решать?
варианты ответа такие:
1-й вариант:
6
2-й вариант:
а - 2
и - 2
я - 2
нужно, чтобы был второй вариант...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.