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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2020, 16:55   #1
Danilzp
 
Регистрация: 18.10.2020
Сообщений: 7
Сообщение Исправьте код к задачe на языке программирования pascal.

Условие задачи:
В строке слова разделены символом пробел. Переставить слова так, чтобы они были упорядочены по алфавиту.
Просьба на писать правильный код и у казать на ошибки.

program p6_2;
var r,s:string;
b:array[1..20] of string;
n,i,j,k:integer;
begin
readln(s);
s:=s+' ';
k:=0;
while length(s)>0 do
begin
n:=pos(' ',s);
k:=k+1;
b[k]:=copy(s,1,n-1);
delete(s,1,n);
end;
j:=1;
for i:=2 to k do
if length(b[i]) > length(b[j]) then j:=i;
r:='';
for i:=length(b[j]) downto 1 do
r:=r+b[j,i];
b[j]:=r;
s:=b[1];
for i:=2 to k do
s:=s+' '+b[i];
writeln(s);
end.
Danilzp вне форума Ответить с цитированием
Старый 24.11.2020, 21:03   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

1. В нормально написанной проге отступами выделяются функциональные блоки, эту линейную простыню читать не хочется.
2. Выкладывая код в форум, пользуются тэгом CODE.
3. Я так понял: найдена первая попавшаяся прога в сети, не имеющая отношения к задаче, и "сделайте мне из неё то, что надо". Если это не так, и вышенаписанное - плод собственных трудов и бдений - то объясни: в каком месте предпринята попытка упорядочить по алфавиту.
Но сейчас придёт добрый человек Неверов и всё сделает - он любит непонятиков.
---------------------------
"Исправьте" - так барин посылает слугу за водкой. Воспитанные люди добавляют "пожалуйста" ."Написать" и "указать" пишется слитно. Впрочем, писать грамотно - это теперь не модно.

Последний раз редактировалось digitalis; 24.11.2020 в 21:07.
digitalis вне форума Ответить с цитированием
Старый 13.12.2020, 11:34   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

digitalis, я уже тут!
Код:
var r,s:string;
    b:array[1..20] of string;
    n,k:integer;
    d:boolean;
begin
   readln(s);
   s:=s+' ';
   k:=0;
   while length(s)>0 do
   begin
      n:=pos(' ',s);
      k:=k+1;
      b[k]:=copy(s,1,n-1);
      delete(s,1,n);
   end;
   Repeat
      d:=true;
      For k:=2 to 20 do
         If b[k]<>'' then
            If b[k-1]>b[k] then
            begin
               d:=false;
               r:=b[k-1];
               b[k-1]:=b[k];
               b[k]:=r;
            end;
   Until d;
   s:=b[1];
   for k:=2 to 20 do
      s:=s+' '+b[k];
   writeln(s);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 13.12.2020, 12:49   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

digitalis
Цитата:
Но сейчас придёт добрый человек Неверов и всё сделает - он любит непонятиков.
Не поминал бы ...
newerow1989
Цитата:
digitalis, я уже тут!
"Лихой конь: всех встречных обгоняет."
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На языке программирования pascal abc написать программу для получения определителя матрицы. hellstaff Помощь студентам 2 25.05.2018 20:38
Хороший Калькулятор на языке программирования Pascal - отдаю код Michаel Паскаль, Turbo Pascal, PascalABC.NET 8 23.11.2017 13:51
На языке программирования Pascal реализовать процедуры работы со стеком на последовательном распределении памяти Владлена12 Паскаль, Turbo Pascal, PascalABC.NET 1 25.11.2013 20:44
исправьте код kostan3 Общие вопросы по Java, Java SE, Kotlin 4 21.12.2012 22:29