• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

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

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

shnurik

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

Код:
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>
 
Код:
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.

правда работает только с прописными или только с заглавными(если надо и так, и так,то доработаю)
 
возле репутации - самая правая кнопка :rolleyes:

Добавлено: поднять репутацию в посте человека, которому ставишь +
 
Зеленый плюсик возле репутации? Нажимаю ничего не происходит, эта кнопка даже не активна
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD