在VB中产生几组全为0,1的 数, 每组数为10个

来源:百度知道 编辑:UC知道 时间:2024/05/05 11:24:30
其中不能有3个0或者3个1连续,并且使每组数首尾相接后的数也没有3个0或3个1连续
并且不产生以下的情况
1 1 0 0 1 0 1 0 1 0
1 0 0 1 1 0 0 1 1 0
1 0 0 1 0 1 0 1 0 1
如第1,3 5 列 不产生 3个1或者3个0连续
而且产生的每个数能单独赋值给一个可调用的变量
问题补充:产生的数也可单独赋值给一个可调用的数组
编成二维数组也行
关键是产生的数可以提取出来
就是产生10个数后,让这10个数为一组循环,比如1 1 0 0 1 0 1 0 1 0 这10 个数,就是前10个数和后10个数是同一组数,接起来后如下,还是没有3个0或者3 个1 连续
1 1 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0

用二维数组
再判断就好了

是不是 死循环啊
题目不懂
什么‘使每组数首尾相接后的数也没有3个0或3个1连续’
就找这样的数串啊
把数串赋给一个变量?
#include<iostream.h>//头文件,有输入输出流
#include<stdlib.h>//包含随机数
#include<iomanip.h>//格式化输出
int main()
{
int arr[10]={0};
int arr1[]={1, 1, 0, 0 ,1 ,0 ,1 ,0 ,1 ,0 },
arr2[]={1 ,0 ,0 ,1, 1 ,0 ,0 ,1, 1, 0 },
arr3[]={1 ,0 ,0 ,1 ,0 ,1, 0 ,1 ,0,1};
int i=0;
unsigned seed;//随机化种子
cout<<"Enter seed:";//输入随机化种子,可以是任意整数正,用于产生随机数
while(cin>>seed)
{
srand(seed);//用于产生随机数
for(i=0;i<10;i++)
{
arr[i]=rand()%2;//产生0,1数,并赋给数组
}
if(arr[0]==arr[8] && arr[0]==arr[9])
break;
if(arr[0]==arr[9] && arr[1]==arr[9])
break;
else if(arr==arr1 ||arr==arr2 ||arr==arr3)
break;
for(i=0;i<8;i++)
{
if(arr[i]==arr[i+1] && arr[i]==arr[i+2])
return 0;
}
for(i=0;i<10;i++)