Я в настоящее время учусь в средней школе и начинаю программировать на C ++ и LUA. Я пытаюсь создать программу с использованием CodeBlocks, и я только что сделал этот код на C ++:
#include <cstring>
using namespace std;
int st[20],n,ok,x,p;
char v[8] = "abcdefg",voc[] = "aeiouAEIOU",lit[] = "a";
// (n - 1)! n=9
void afisare(int k){
int i;
for (i=1;i<=k;i++)
cout<<v[st[i]]<<" ";
cout<<endl;
}
void valid(int k,int&ok){
int i;
ok = 0;
//cout<<v[st[k]];
if (strchr(lit,v[st[1]]) != NULL && strchr(lit,v[st[k]]) != NULL)
ok = 1;
for (i = 1; i <= k-1; i++)
if (st[k] == st[i])
ok = 0;
}
void back(){
int k;
k = 1;
x = 0;
st[k] = -1;
while(k > 0){
ok = 0;
while (ok==0 && st[k]<n - 1){
st[k] = st[k] + 1;
valid(k,ok);
}
if (ok == 1)
if (k == n){ //
afisare(k);
x++;
}
else {
k++;
st[k] = -1;}
else
k--;
}
}
int main()
{
//cin>>p;
n = strlen(v);
//while (p > n)
//cin>>p;
back();
cout<<endl<<"x! = "<<x;
return 0;
}
Однако он показывает только:
x! = 0
Кто-нибудь знает решение для этой программы ? Кстати, я новичок в поиске ответов.