помогите написать прогу в паскале, прога на строки

  • Автор темы shnurik
  • Дата начала
S

shnurik

#1
Ввести строку, в каждом слове расставить символы по алфавиту.
 
S

shnurik

#3
есть, но работает не так как надо

Код:
program stroka;
uses crt;
var s:string;
i,j,k,l,m,n,x:integer;
a,b,c:char;
begin
write('введите строку');
writeln;
read(s);
writeln;
for x:=1 to length (s) do
for i:=1 to length (s) do
if s[i]=' ' then
begin
k:=i;
for l:=k+1 to length (s) do
if s[l]=' ' then
begin
m:=l;
for n:=k+1 to m-1 do
if s[n]>s[n+1] then
begin
a:=s[n];
s[n]:=s[n+1];
s[n+1]:=a;
end;
end;
end;
write(s);
end.
<table valign="top" style='margin:0;width:100%;border:1px dashed red;'>[tr]<td align='middle' bgcolor='#ff6060' valign='top' width='1%'>
<FONT color='#ffffff' size='+3'> ! </font>
</td><td align="midle" valign='top' style='background:#fff;'>Не забываем про теги кода!</td>[/tr]</table>
 
I

isqoff

#4
Код:
uses crt;
var i,j:integer;
s,new_s,st:string;
buf_s:char;

BEGIN
writeln('Введите строку :');
readln(s);

if s[Length(s)] <> #32 then s:=s+#32; //добавим в конец строки пробел

{---------------------- удаляем лишнии пробеллы ---------------------------------------}
repeat
if pos(#32+#32,s) <> 0
then Delete(s,pos(#32+#32,s),1);
until pos(#32+#32,s) = 0;
{---------------------- формируем необходимую нам строку -------------------------------}
new_s:='';
repeat
st:=Copy(s,1,pos(#32,s));
Delete(s,1,pos(#32,s));
for i:=1 to length(st)-2 do
for j:=i+1 to length(st)-1 do
if st[i]>st[j]
then begin
buf_s:=st[i];
st[i]:=st[j];
st[j]:=buf_s;
end;
new_s:=new_s+st;
until s = '';
{---------------------------- выводим результат ------------------------------------------}
writeln;

writeln(new_s);

END.
правда работает только с прописными или только с заглавными(если надо и так, и так,то доработаю)
 

hosm

* so what *
18.05.2009
2 442
6
#8
возле репутации - самая правая кнопка :rolleyes:

Добавлено: поднять репутацию в посте человека, которому ставишь +
 
S

shnurik

#9
Зеленый плюсик возле репутации? Нажимаю ничего не происходит, эта кнопка даже не активна
 

hosm

* so what *
18.05.2009
2 442
6
#10
Для возможности "+" надо иметь 10 сообщений на форуме (такие правила)