1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Помогите пожалуйста...вот у меня программа...она сортирует текст но с каждой строкой заново...а мне надо переделать чтобы весь текст сортировался вместе...и ещё чтобы каждое слово было пронумеровано в соответствии с тем на каком месте оно стояло в исходном тексте...никак не могу понять как это сделать...помогите...
uses crt;
var
f1,f2:text;
a:array[1..100]ofstring;
b,t:string;
k,i,j:integer;
c:setof char;
begin
c:=['.',',',';',':','(',')','-','!','?'];
assign(f1,'input.txt');
assign(f2,'output.txt');
reset(f1);
rewrite(f2);
whilenot eof(f1) dobegin
clrscr;
readln(f1,b);
k:=0;
b:=' '+b;
for i:=1to length(b) doif b[i]=' 'then inc(k)
elseifnot (b[i] in c) then a[k]:=a[k]+b[i];
for i:=2to k dobegin
j:=i;
t:=a[i];
while (j>1) and (a[j-1]>t)dobegin
a[j]:=a[j-1];
j:=j-1;
end;
a[j]:=t;
end;
for i:=1to k do
write(f2,a[i],' ');
writeln(f2);
for i:=1to k do
a[i]:='';
end;
writeln('END!!!');
readln;
close(f1);
close(f2);
end.
как сделать чтобы текст весь полностью сортировался???
Сначала полностью прочесть весь текст (построчно), разбить на слова (что ты делаешь сейчас), и только потом сортировать массив слов.
У тебя же сейчас (насколько видно из твоего неформатированного кода, мне форматировать лень, возьми программу отсюда: Графическая оболочка для PtoP и приведи исходник в порядок) происходит вот что: прочел из входного файла строку, отсортировал, записал в другой файл, читаешь следующую строку входного файла. Так не пойдет.
Uses crt;
Var
f1,f2: text;
a: array[1..100] Ofstring;
b,t: string;
k,i,j: integer;
c: setOf char;
Begin
c := ['.',',',';',':','(',')','-','!','?'];
assign(f1,'input.txt');
assign(f2,'output.txt');
reset(f1);
rewrite(f2);
WhileNot eof(f1) DoBegin
clrscr;
readln(f1,b);
k := 0;
b := ' '+b;
For i:=1To length(b) DoIf b[i]=' 'Then inc(k)
ElseIfNot (b[i] In c) Then a[k] := a[k]+b[i];
For j:=2To k DoBegin
t := a[j];
While (j>1) And (a[j-1]>t) DoBegin
a[j] := a[j-1];
j := j-1;
End;
a[j] := t;
End;
For i:=1To k Do
write(f2,a[i],' ');
writeln(f2);
For i:=1To k Do
a[i] := '';
End;
writeln('END!!!');
readln;
close(f1);
close(f2);
End.
Но я всё равно не пойму как сделать чтобы весь текст сначала прочитать а потом его сортировать...