Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2009, 13:25   #1
Черная тень
 
Регистрация: 10.01.2009
Сообщений: 7
По умолчанию анализ и преобразование текста строки

ввести строку, состоящую из нескольких предложений. построить результирующую строку, содержащую только предложения, состоящие из заданного количества слов.
Черная тень вне форума Ответить с цитированием
Старый 10.01.2009, 13:58   #2
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

var n:integer;
s:string;
f,f2:text;
begin
assign(f,'input.txt');
reset(f);
asiign(f2,'output.txt');
rewrite(f2);
readln(f,n);{cчитываем сколько букв должно быть в строке}
{ которую нужно выводить}
while (not eof(f)) do
begin
read(f,s);
if length(s)=n then writeln(f2,s);
readln(f);
end;
writeln('Работа закончена');
readln
close(f);
close(f2);
end.
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 10.01.2009, 14:02   #3
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию Подразумеваются нормальные предложения)

uses crt;
var
mas:array[1..50] of string;
s,st,str:string;
i,j,a,b,c,d,k,l,n,kol:integer;
begin
clrscr;
write(' CTPOKA -> ');
writeln;
readln(s);
writeln;
writeln(' KOJIU4ECTBO CJIOB -> ');
readln(k);
writeln;
i:=1;
st:='';
n:=0;
s:=s+' ';
repeat
if s[i]<>'.' then st:=st+s[i]
else begin n:=n+1; mas[n]:=st; st:=''; end;
if mas[n][1]=' ' then delete(mas[n],1,1);
i:=i+1;
until i>length(s);
st:='';
writeln;
writeln;
for i:=1 to n do
begin
mas[i]:=mas[i]+' ';
j:=1;
kol:=0;
repeat
if mas[i][j]<>' ' then st:=st+mas[i][j]
else kol:=kol+1;
j:=j+1;
until j>length(mas[i]);
delete(mas[i],length(mas[i]),1);
if kol=k then write(mas[i],'. ');
end;
readln;
end.
@(o_0)@
Tkirill вне форума Ответить с цитированием
Старый 10.01.2009, 14:05   #4
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

В формате:
предложение1. предложение2. преддожение3. ....
@(o_0)@
Tkirill вне форума Ответить с цитированием
Старый 10.01.2009, 14:49   #5
Черная тень
 
Регистрация: 10.01.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Tkirill Посмотреть сообщение
В формате:
предложение1. предложение2. преддожение3. ....
эм... но данная программа не выводит результат...
Черная тень вне форума Ответить с цитированием
Старый 10.01.2009, 17:27   #6
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

В смысле? я что то не понял.
@(o_0)@
Tkirill вне форума Ответить с цитированием
Старый 10.01.2009, 17:33   #7
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

я проверял. прога рабочая. результат выводит нормально.
@(o_0)@
Tkirill вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi,преобразование строки в выражение Chidory Помощь студентам 10 16.12.2008 02:18
Текстовые файлы, преобразование строки(замена слов)) lusuj Помощь студентам 1 01.12.2008 16:58
Анализ строки(Delphi) Cannibal Помощь студентам 2 27.11.2008 14:17
Преобразование строки(ASM) ManU Помощь студентам 4 11.06.2008 17:20
Преобразование строки во время kayman Общие вопросы Delphi 7 02.10.2007 15:41