Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

помогите решить в паскаль, пожалуйста:

Марина Иванова Ученик (187), на голосовании 7 лет назад
Дана строка длиной не более 255 символов. Строка содержит слова, разделенные между собой пробелами. Напечатать все слова, которые начинаются с буквы а.
Голосование за лучший ответ
Задаю Отвечаю Ученик (177) 7 лет назад
program zadacha;
var
s : string[255];
i : integer;
begin
writeln('Введите строку.');
readln(s);
s := ' ' + s; {добавляем в начало пробел}
i := 1;
if length(s) > 1 then
repeat
if s[i] = ' ' then
if s[i+1] = ' ' then
begin
delete(s, i+1, 1);
i := i - 1;
end;
inc(i);
until i = length(s);
i := 2;

while i <= length(s) do
begin

if (s[i] = 'a') and (s[i-1] = ' ') then
begin
while (s[i] <> ' ') and (i <= length(s)) do
begin
write(s[i]);
inc(i);
end;
writeln;
end;
inc(i);

end;
Марина ИвановаУченик (187) 7 лет назад
не работает (
Какие ошибки выдает компилятор? И проблема в логике программы?
Юрий Моисеев Оракул (83938) 7 лет назад
var i,j:integer;
str:string;
w:array[1..10] of string;
begin
write('Ввести строку: ');
read(str);
str:=trim(str);
j:=1;
w[j]:='';
for i:=1 to length(str) do
if str[i]<>' ' then w[j]:=w[j]+str[i] else
if (str[i]=' ') and(str[i+1]<>' ') then begin j:=j+1; w[j]:='' end;
for i:=1 to j do if w[i][1]='а' then writeln(w[i]);
end.
Похожие вопросы