Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 04.02.2015
Сообщений: 5

Вывести все 4-х символьные сочетания, состоящие из символов заданной строки

04.02.2015, 08:36. Показов 2237. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с задачей пожалуйста. Не знаю как сделать

Вывести все 4-х символьные сочетания, состоящие из символов заданной строки, удовлетворяющие заданным правилам их формирования. Правила задать с терминала для каждого i-го символа (i=1,…,4):
1-й символ – это буква или цифра?
Если буква, то гласная или согласная?
Если цифра, то четная или нечетная?
2-й символ – это буква или цифра?
И так далее.
Ответы: 1 – да, 0 – нет.
Использованный символ строки далее в новые сочетания не входит.

Входные данные:
ab1e2c03ik5
1-й символ – буква:1
гласная:1
2-й символ – буква:0
четная:1
3-й символ – буква:1
гласная:0
4-й символ – буква:0
четная:0

Выходные данные:
a2b1
e0c3
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2015, 08:36
Ответы с готовыми решениями:

В заданной строке вывести все четырёх символьные сочетания
Вывести все 4-х символьные сочетания, состоящие из символов заданной строки, удовлетворяющие заданным правилам их формирования. Правила...

Cтрока: вывести в файл все возможные сочетания символов начиная с A, и заканчивая строкой в 16 символов состоящую из Z
Изучая работу со строками в c++ столкнулся с задачей. Есть массив символов английского алфавита от "a" до "Z", мне...

Вывести все слова, состоящие из неповторяющихся символов
Задача: Пусть дан текст, состоящий из слов. Под словом понимается последовательность литер, не содержащая пробелов и знаков препинания....

9
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
04.02.2015, 10:53
если не решать данную задачу универсально (для любой длины и разных дополнительных вариантов),
то я вижу очень простое решение - составляете четыре элемента, заполненные нужными значениями (можно использовать множества, можно - массивы, а можно - строки.
потом четыре вложенных цикла по этим строчкам.

ну, типа так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const 
   BukvyGlas = 'aeuioy';
   BukvySoglas = 'bcdfg и т.д.';
   Chetnye = '02468';
   Nechet = '13579';
 
function GetChars(i:integer) : string;
var k : integer;
begin
  Write(i,'-й символ – буква:');  Readln(k);
  if k=1 then begin
    Write('гласная: ');  Readln(k);
    if k=1 then GetChars := BukvyGlas
    else GetChars := BukvySoglas
  end
  else begin {цифра}
    Write('четная: ');  Readln(k);
    if k=1 then GetChars := Chetnye
    else GetChars := Nechet
  end
end;  
  
 
var
  s : array[1..4] of string;
  i, i1,i2,i3,i4 : integer;
begin
  for i:=1 to 4 do  s[i] := GetChars(i);
 
  {вот циклы формирования сочетания}
  for i1:=1 to Length(s[1]) do
    for i2:=1 to Length(s[2]) do
      for i3:=1 to Length(s[3]) do
         for i4:=1 to Length(s[4]) do
   WriteLn(s[1][i1],s[2][i2],s[3][i3],s[4][i4]);
end/
писал прямо тут, не проверял...
1
0 / 0 / 0
Регистрация: 04.02.2015
Сообщений: 5
04.02.2015, 11:20  [ТС]
спасибо, но решение должно быть именно для любой строки с разной длинной
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
04.02.2015, 11:26
Цитата Сообщение от growl666 Посмотреть сообщение
спасибо, но решение должно быть именно для любой строки с разной длинной
ну а зачем тогда в заголовок темы выносить: "Вывод 4х символьных сочетаний" ?!!!
1
0 / 0 / 0
Регистрация: 04.02.2015
Сообщений: 5
04.02.2015, 11:33  [ТС]
в заголовке суть, а в задании же написано
Цитата Сообщение от growl666 Посмотреть сообщение
Вывести все 4-х символьные сочетания, состоящие из символов заданной строки, удовлетворяющие заданным правилам их формирования. Правила задать с терминала для каждого i-го символа (i=1,…,4):
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
04.02.2015, 12:20
Цитата Сообщение от growl666 Посмотреть сообщение
в заголовке суть, а в задании же написано
Цитата Сообщение от growl666 Посмотреть сообщение
Вывести все 4-х символьные сочетания, состоящие из символов заданной строки, удовлетворяющие заданным правилам их формирования. Правила задать с терминала для каждого i-го символа (i=1,…,4):
Так и в задании говорится про 4-ех символьные...
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
04.02.2015, 12:53
Цитата Сообщение от growl666 Посмотреть сообщение
в заголовке суть, а в задании же написано
так. возвращаемся к началу разговора.
в моём сообщении выше код, который и генерит 4-х символьные сочетания по заданным правилам!
Что не так?
1
0 / 0 / 0
Регистрация: 04.02.2015
Сообщений: 5
04.02.2015, 14:00  [ТС]
ваш код генерит все возможные сочетания из всех букв и цифр, а нужно как в примере:
Цитата Сообщение от growl666 Посмотреть сообщение
Входные данные:
ab1e2c03ik5
1-й символ – буква:1
гласная:1
2-й символ – буква:0
четная:1
3-й символ – буква:1
гласная:0
4-й символ – буква:0
четная:0
Выходные данные:
a2b1
e0c3
именно в этом то и трудность
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
04.02.2015, 22:19
Цитата Сообщение от growl666 Посмотреть сообщение
именно в этом то и трудность
а если так?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
function isGoodSymbol(ch : char; isLetter, isKey2 : boolean ) : boolean;
const
   BukvyGlas = ['a','e','u','i','o','y','A','E','U','I','O','Y'];
   Chetnye = ['0','2','4','6','8'];
begin
  isGoodSymbol := false;
  if isLetter then begin
     if not (ch in ['a'..'z','A'..'Z']) then Exit;
     if isKey2
          then isGoodSymbol := ch in BukvyGlas
          else isGoodSymbol := not( ch in BukvyGlas )
  end
  else begin
     if not (ch in ['0'..'9']) then Exit;
     if isKey2
          then isGoodSymbol := ch in Chetnye
          else isGoodSymbol := not( ch in Chetnye )
  end
 
end;
 
 
var
  s, s0 : string;
  key : array[1..4,1..2] of boolean;
  i, j, k : integer;
  isCharFound : boolean;
begin
  WriteLn('Введите исходную строку: ');
  {Readln(s); }
    {для отладки }
       s := 'ab1e2c03ik5';
       key[1,1] := true;  key[1,2] := true;
       key[2,1] := false; key[2,2] := true;
       key[3,1] := true;  key[3,2] := false;
       key[4,1] := false;  key[4,2] := false;
       
(*  for i:=1 to 4 do begin
    Write(i,'-й символ – буква:');  Readln(k);
    key[i,1] := (k=1);
    if key[i,1] then begin
      Write('гласная: ');  Readln(k);
      key[i,2] := (k=1);
    end
    else begin {цифра}
      Write('четная: ');  Readln(k);
      key[i,2] := (k=1);
    end
  end; *)
  
  isCharFound := true;
  while (Length(s)>0) and isCharFound do begin
     s0 := '';
     for i:=1 to 4 do begin
       j:=1;
       while (j<=Length(s)) and Not isGoodSymbol(s[j], key[i,1], key[i,2]) do Inc(j);
       if (j>Length(s)) then begin
          isCharFound := false;
          Break;
       end
       else begin
         s0 := s0 + s[j];
         Delete(s, j, 1);
       end;
     end;
     if isCharFound then WriteLn(s0);
  end;
  
  WriteLn('------------');
  WriteLn(' ostatok  = ',s);
  
end.
1
0 / 0 / 0
Регистрация: 04.02.2015
Сообщений: 5
05.02.2015, 08:33  [ТС]
огромное спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.02.2015, 08:33
Помогаю со студенческими работами здесь

Вывести все слова, состоящие из трех прописных символов
Помогите пожалуйста с написанием задачи:3 Дан файл, в котором не более 10 строк текста. Написать программу, которая выводит на экран...

Строки. найти все слова,состоящие из неповторяющихся символов
пусть дан текст,состоящий из слов.под словом понимается последовательность литер,не содержащая пробелов и знаков препинания.напечатайте все...

Вывести все возможные сочетания машин и велосипедов с заданной суммой колес
У машин и велосипедов вместе N колес. Сколько может быть машин и велосипедов? (вывести все возможные сочетания) Напоминаем, что у...

Строки. В заданной строке заменить все сочетания подстроки 'на' на подстроку 'над'.
1. В заданной строке заменить все сочетания подстроки 'на' на подстроку 'над'. 2. Составить программу для определения стоимости...

Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc»
Помогите с задачей, кто знает, как сделать проверку? Т.е. чтобы при вводе цифр, пробелов или пустой строки выводилось сообщение об этом и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru