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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.12.2018, 18:46   #1
Necker
Пользователь
 
Регистрация: 23.09.2018
Сообщений: 23
По умолчанию Обратный порядок слов

Программа должна сортировать в случайном порядке буквы в слове кроме первой и последней, но у меня с выводом проблемы немного может кто- нибудь помочь разобраться?
Код:
Цитата:
program Project2; {$APPTYPE CONSOLE} uses SysUtils; const //Разделители слов. D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13]; var S : String; Procedure Title; Begin Writeln('The program shuffles all the letters in the line except the first and last'); Writeln('Program by Torvald'); end; Function Input: string; begin Write('Set the string:'); Readln(S); end; Function Mrts(S:String): string; var ii,i1, i, Pos1, Len : Integer; Ch : Char; begin Len := Length(S); Pos1 := 0; for i := 1 to Len do begin if S[i] in D then Continue;//пропуск разделителей if (i = 1) or (S[i - 1] in D) then Pos1 := i;//начало слова if (i = Len) or (S[i + 1] in D) then begin //конец слова for ii := Pos1+1 to i-1 do begin // перемешка букв i1 := Random(i-Pos1+1)+pos1+1; Ch:=S[i1]; S[i1]:=S[ii]; S[ii]:=Ch; end; end; end; Writeln('Result:',S); end; Function RepeatProg: boolean; var ans: char; begin Writeln('Exit?(Y/N):'); Readln(ans); if (ans = 'N') or (ans = 'n') then Result:= False else Result:=True; end; Begin repeat Title; Input; Mrts(S); until RepeatProg; Writeln('Press "Enter" for quit program'); readln; end.
Снимок экрана (350).png
Necker вне форума
Старый 19.12.2018, 20:03   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Так подбери в "перемешке" чтобы число і1 получалось в диапазоне от номера 2й буквы слова до номера предпоследней буквы слова
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума
Старый 19.12.2018, 21:12   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Necker Посмотреть сообщение
Программа должна сортировать в случайном порядке буквы в слове кроме первой и последней, но у меня с выводом проблемы немного может кто- нибудь помочь разобраться?
чем Вас не устроила ваша тема http://www.programmersforum.ru/showthread.php?t=325362 ?!
Serge_Bliznykov вне форума
Старый 20.12.2018, 00:23   #4
Necker
Пользователь
 
Регистрация: 23.09.2018
Сообщений: 23
По умолчанию

АХХА, извините забыл про нее
Necker вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В заданном строке порядок слов изменить на обратный (например, «мама пошла к дому» должно образоваться «дома к пошла мама»). Halikarnas Паскаль, Turbo Pascal, PascalABC.NET 3 09.06.2017 17:41
Паскаль abc-В текстовом файле поменять порядок слов на обратный Алькер Паскаль, Turbo Pascal, PascalABC.NET 1 23.04.2014 13:35
Обратный порядок Vapali-Pik Помощь студентам 0 28.07.2011 00:39
Изменить порядок слов в документе на обратный arthur_92 Microsoft Office Word 1 07.06.2011 00:14
Обратный порядок G. J. Cezar Общие вопросы C/C++ 2 22.10.2010 15:10