十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
using System;
成都创新互联专注于沈河企业网站建设,响应式网站设计,商城建设。沈河网站建设公司,为沈河等地区提供建站服务。全流程按需网站策划,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication42
{
class Program
{
static void Main(string[] args)
{
count = 0;
String[] s = Console.ReadLine().Split(' ');
int[] array = new int[s.Length];
for (int i = 0; i s.Length; i++)
{
array[i] = Convert.ToInt32(s[i]);
}
int m = Convert.ToInt32(Console.ReadLine());
Listint arraylist = new Listint();
arraylist.AddRange(array);
Output(arraylist, m, null);
Console.WriteLine("共有" + count.ToString() + "个");
Console.ReadKey();
}
static int count = 0;
static void Output(Listint array, int m, Listint output)
{
if (output == null)
output = new Listint();
if (m == 0)
{
for (int i = 0; i output.Count; i++)
{
Console.Write(output[i].ToString() + " ");
}
Console.Write("\r\n");
count++;
return;
}
else
{
for (int i = 0; i array.Count; i++)
{
Listint output2 = new Listint();
output2.AddRange(output.ToArray());
output.Add(array[i]);
Listint array2 = new Listint();
array2.AddRange(array.ToArray());
for (int j = 0; j = i; j++)
{
int number = array[j];
array2.Remove(number);
}
Output(array2, m - 1, output);
output.Clear();
output.AddRange(output2.ToArray());
}
}
}
}
}
额,没注意VB,用C#写的。。。
输出了的,你新建一个C#控制台程序,把这段贴进去,运行一下就知道了
先输入一组字符串,然后输入一个整数,就会把所有的组合输出出来
我把这段转成VB再发一次吧
Module Module1
Sub Main()
count = 0
Dim s As String() = Console.ReadLine().Split(" ")
Dim array(0 To s.Length - 1) As Integer
For i As Integer = 0 To s.Length - 1
array(i) = Convert.ToInt32(s(i))
Next
Dim m As Integer = Convert.ToInt32(Console.ReadLine())
Dim arraylist As New List(Of Integer)
arraylist.AddRange(array)
Print(arraylist, m, Nothing)
Console.WriteLine("共有" + count.ToString() + "个")
Console.ReadKey()
End Sub
Sub Print(ByRef array As List(Of Integer), ByVal m As Integer, ByRef output As List(Of Integer))
If output Is Nothing Then
output = New List(Of Integer)()
End If
If m = 0 Then
For i As Integer = 0 To output.Count - 1
Console.Write(output(i).ToString() + " ")
Next
Console.Write(vbCrLf)
count = count + 1
Return
Else
For i As Integer = 0 To array.Count - 1
Dim array2 As New List(Of Integer)
Dim output2 As New List(Of Integer)
output2.AddRange(output.ToArray())
output.Add(array(i))
array2.AddRange(array.ToArray())
For j As Integer = 0 To i
Dim number As Integer = array(j)
array2.Remove(number)
Next
Print(array2, m - 1, output)
output.Clear()
output.AddRange(output2.ToArray())
Next
End If
End Sub
Dim count As Integer = 0
End Module
是这么定义的:
数组中的第一个元素的下标称为下界,最后一个元素的下标称为上界,其余的元素连续地分布在上下界之间,且数组在内存中也是用连续的区域来存储的,所以数组每维的长度不能超过Long数据类型的最大值,即264—1=263。
把VB.NET数组当作一个对象来处理,就意味着数组类型是单个引用类型,数组变量包括指向构成数组元素、数组维和数组长度等数据的指针,数组之间互相赋值但仅仅是在相互复制指针,数组继承了System名字空间的Array类。
VB.NET中的数组有两种类型:定长数组和动态数组。
扩展资料:
1、数组的使用
在’VB 6.0中,能够用For Each来循环遍历一个数组。
比如:
Dim x As Integer
F0r Each x In arrayl
Console.WriteLine(x)
Next
2、在VB.NET中能够使用For循环和数组长度来遍历一个数组。
比如:
Dim i As工nteger
F0r i=0 T0 (arrayl.Length-1)
(此处空一行)
Console.WriteLine(arrayl(1)J
Next i
1、vb.net的
数组定义与变量定义差不多。可以用
dim
来定义
比如:
dim
a(100)
as
integer。
也可以不定义下标
在程序中
用
redim
来定义。
如:
dim
a()
as
integer
'
'
redim
a(100)
2、vb.net中定义数组可以直接赋值。
如:
dim
a()
as
integer
={1,
2,
3,4}
用一个带括号的变量名来定义一维数组和多维数组如dim a(5) as integer '定义了1个1维、6个元素数组dim a(5,5) as integer '定义了1个2维、36个元素的数组
vb专指vb6,如果vs2001以后的,请用vb.net提问
1、需要知道数组下标开始以及结束位置,vb6数组的下标可以从任意位置开始,如:
dim a(-5 to 5) as integer
2、数组下标不要越界。
3、传数组是传地址的。
4、要知道什么是静态数组、什么是动态数组。
一. 前提定要声明数组,需要赋值或者标明维数例dim a() as integer 二. 使用redim重新定义数组数组数据全部初始化要保留原数据加preserve 三 redim能修改数据维数能改变数组类型 四 redim 能够全局声