С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
kripipasta
1 / 1 / 0
Регистрация: 15.05.2017
Сообщений: 93
1

Цепочки в С++

13.10.2017, 18:12. Просмотров 163. Ответов 1
Метки нет (Все метки)

Помогите разобраться с кодом, буквально построчно, спасибо заранее
C++
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <iostream>
#include <fstream>
#include <string.h>
#define M 20
#define MV 3
#define CB '1'
#define CE '3'
using namespace std;
void GetNext(char* A);
void Next(char *A,int C);
void Clear(char* A);
int Owerflow(char* A);
void Show(char* A);
int Check(char* A);
char strtemp[8];
 
int main()
{
   char A[255]="1111";
   int k=0,cnt=0;
   ofstream fl;
   fl.open("gram.txt");
   fl<<"Содержит ровно два символа «с», заканчивается на «bс» и символы «а» и «b» не стоят рядом L1=4, L2=8, M=20."<<endl;
 
   while (k<M && cnt<=MV){
 
    do {
       Show(A);
       if(Check(A)==0){cnt++;fl<<cnt<<". "<<strtemp<<endl;}
       if ( cnt>=MV) return 0;
       GetNext(A);
 
    }while (!Owerflow(A));
    Show(A);
    if(Check(A)==0){cnt++;fl<<cnt<<". "<<strtemp<<endl;}
   k++;
   if (k>M || cnt>=MV) return 0;
   for(int i=0;i<k+3;i++)A[i]='1';
   }
    fl.close();
    return 0;
}
 
void Clear(char* A){
for(int i=0;i<strlen(A);i++) A[i]=CE;
}
 
int Owerflow(char *A){
    int C = 0;
    for(int i=0;i<strlen(A);i++)
      if (A[i]== CE) C++;
    if(C == strlen(A))  return 1;
    else return 0;
}
 
void Next(char *A,int C){
  C--;
  if(A[C]==CE){
     A[C]=CB;
     C++;
     Next(A,C-1);
   }
   else A[C]++;
}
 
void GetNext(char* A){
if (Owerflow(A)) {
    A[0]++;
    Clear(A);
}
  else
    Next(A, strlen(A));
}
 
void Show(char* A){
//strtemp='';
for(int i=0;i<strlen(A);i++){
    if (A[i]=='1')strtemp[i]='a';
    if (A[i]=='2')strtemp[i]='b';
    if (A[i]=='3')strtemp[i]='c';
    }
cout<<strtemp<<' ';
}
 
int Check(char* A){
 int cntA=0,cntAC=0;
 for(int i=0;i<strlen(A);i++){
    if(A[i]=='1'){
        cntA++;
    if (A[i+1]=='3')cntAC++;
    }
    if(A[i]=='3' && A[i+1]=='1')cntAC++;
 }
 if(cntA==2 && cntAC==0 && A[strlen(A)-1]=='2')return 0;
 else return 1;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2017, 18:12
Ответы с готовыми решениями:

STL: найти все максимальные цепочки подряд идущих положительных чисел с указанием длины каждой цепочки
Создать массив длины N (число N вводится с клавиатуры). Заполнить массив...

Цепочки в С++
Всем привет) прошу вашей помощи, сам понять никак не получается.. Собственно...

Метод цепочки
Здравствуйте. Помогите с примером. Таблица строиться по методу цепочек с...

Составление цепочки слов
Доброго времени суток! Помогите построить цепочку слов минимальной длины...

Просмотр цепочки вызовов
Функция func1 вызывает функцию func2. Функция func2 вызывает функцию func3. А...

1
_stanislav
Рука
418 / 380 / 207
Регистрация: 16.08.2014
Сообщений: 1,704
Завершенные тесты: 2
13.10.2017, 19:24 2
kripipasta, если для тебя все в одну кучу сливается этот код, тогда, найди для начала все данные то есть переменные, потом найди все действия, то есть функции, программирование это действия над данными. потихоньку с пониманием каждой функцией ты поймешь общую картину. по блочно { все что между этими символами } осмысливай. за тебя думать вряд ли кто захочет часто. не надо пытаться понять весь код разом.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2017, 19:24

Замена в строке цепочки символов
Как осуществить замену строки. Помогите закончить программу или дайте пример...

Хэш-таблица раздельные цепочки
Итак, ключ 10 должен располагаться в списке по адресу 0, ключ 11 – по адресу...

Разработать распознаватель заданной символьной цепочки
Необходимо разработать распознаватель заданной символьной цепочки. Символь-...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru