![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
sergey121212 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
Создать Паскаль-программу, которая будет продуцировать цепочки в трёхсимвольном алфавите с записью их в файл, причем длина L цепочек ограничена: 4 <= L <= 8. Содержит одно сочетание «аb», заканчивается на «b» и символы «b» и «с» не стоят рядом Общее количество цепочек в файле должна быть не больше 20.
Вот что получилось сделал чтобы было ограничивалась от 4 до 8 и сделал чтобы было не больше 20 , но не могу сделать чтобы "Содержит одно сочетание «аb», заканчивается на «b»(сделал) и символы «b» и «с» не стоят рядом" Код Program pr01; uses Crt; const alf: string = 'ABC'; n = 20; type mass = array [1..n] of string; function InMass(a: mass; s: string): boolean; var i: integer; begin InMass := False; for i := 1 to n do begin if a[i] = s then begin InMass := True; exit; end; end; end; function P(l: integer): string; var i: integer; st: string; begin st := ''; for i := 1 to l do begin st := st + alf[random(length(alf))+1]; end; P := st; end; var i,j,l1,l2,l3: integer; s: mass; st: string; begin ClrScr; Randomize; i := 1; while i <= n do begin l1 := random(5)+3; st := P(l1)+'B'; if InMass(s, st) then continue; s[i] := st; i := i + 1; end; for i := 1 to n do begin for j := i to n do begin if length(s[i]) > length(s[j]) then begin st := s[i]; s[i] := s[j]; s[j] := st; end; end; end; for i := 1 to n do begin write(i:2,' '); Write(s[i]); writeln(' len=',length(s[i])); end; end. |
![]() ![]() |
sergey121212 |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
так помоги написать
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:36 |