问题:
有一排物体,从左到右依次编号为1,2,3,...,n.物体属性一样,定义L(i)为第i个与第i+1个之间间隙,
现在从中随机抽出几个,抽出的物体标号由数组a(i)是否为1来判断,a(i)=1时抽出,求抽出之后物体之间间隙组成一个新的数组b() .
思路:
1 初始化L数组,元素个数为n
2 产生随机数组a,元素个数为n
for(j =0;j<n;j++)
a[j] = rand()%2;
3 取得a数组中元素值为0的元素个数k
4 动态生成一个数组b,元素个数为k-1
b = malloc(k-1);
5 计算新的间隙
for(j = 0,i = 1;(j<k-1)&&(i<n-1);j++)
{
b[j] = L[i];
if(!a[i])
continue;
while(a[i])
{
b[j]+ = L[i];
i++;
}
}
请大家帮忙改一下程序,改成vb,c语言我看不懂
有一排物体,从左到右依次编号为1,2,3,...,n.物体属性一样,定义L(i)为第i个与第i+1个之间间隙,
现在从中随机抽出几个,抽出的物体标号由数组a(i)是否为1来判断,a(i)=1时抽出,求抽出之后物体之间间隙组成一个新的数组b() .
思路:
1 初始化L数组,元素个数为n
2 产生随机数组a,元素个数为n
for(j =0;j<n;j++)
a[j] = rand()%2;
3 取得a数组中元素值为0的元素个数k
4 动态生成一个数组b,元素个数为k-1
b = malloc(k-1);
5 计算新的间隙
for(j = 0,i = 1;(j<k-1)&&(i<n-1);j++)
{
b[j] = L[i];
if(!a[i])
continue;
while(a[i])
{
b[j]+ = L[i];
i++;
}
}
请大家帮忙改一下程序,改成vb,c语言我看不懂
解决方案 »
- VB双面打印问题
- VB怎么给winsock的端口号赋值
- datagrid1给excel赋值
- API有打印文本文件的方法吗?,直接用Printer的话,好像是一行行的,太慢了
- 谁有MAPX控件?急用,怎么用?谢谢!!!
- 请问如何用acess下的vba将excel中的数据导入到acess数据库中已经存在的表中
- ORACLE数据库ID字段自动增加
- datagrid的问题?急啊???
- 谁能给我讲讲Set语句吗?它有些什么作用呢?怎么用的?最好是在不同场合分别用到它,都加一个实例??
- 如何使用command按钮激活一个*.exe文件
- asp代码转成dll问题.急!!急!!
- 100分!怎样用InfoZip压缩文件夹?
帮你up一下
2 产生随机数组a,元素个数为n
Dim j As Integer
for j =0 To n a[j] = rnd(10) mod 2 Next3 取得a数组中元素值为0的元素个数k
4 动态生成一个数组b,元素个数为k-1
Dim b() as Integer 'b(0 To k-2) 除非你的k是个已知数才可以这么写
5 计算新的间隙
while (j<k-1 and i<n-1)
j=0
i=0
b(j)=L(j)
if not a(i)
goto e
while a(i)
b(j)=L(i)+b(j)
i=i+1
wend
e:
j=j+1
wend请大家帮忙改一下程序,改成vb,c语言我看不懂