C# 如何获得结果我的代码显示错误的结果
编写一个函数,该函数接受两个数组,并将第二个数组的前n个元素插入第一个数组的位置x,然后将第二个数组的其余元素添加到末尾C# 如何获得结果我的代码显示错误的结果,c#,c#-4.0,C#,C# 4.0,编写一个函数,该函数接受两个数组,并将第二个数组的前n个元素插入第一个数组的位置x,然后将第二个数组的其余元素添加到末尾 插入元素(arr1=[1,2,3,9],arr2=[4,7,2],pos=3,count=2)应返回[1,2,4,7,3,9,2] static void getresult(int []a, int []b, int n, int m) { for (int i = 0; i < n;
插入元素(arr1=[1,2,3,9],arr2=[4,7,2],pos=3,count=2)
应返回[1,2,4,7,3,9,2]
static void getresult(int []a, int []b,
int n, int m)
{
for (int i = 0; i < n; i++)
{
int j;
for (j = 0; j < m; j++)
if (a[i] == b[j])
break;
if (j == m)
Console.Write(a[i] + " ");
}
}
// Driver code
public static void Main()
{
int []a = {1, 2, 3, 9};
int []b = {4,7,2};
int n = a.Length;
int m = b.Length;
getresult(a, b, n, m);
}
static void getresult(int[]a,int[]b,
整数n,整数m)
{
对于(int i=0;i
根据您的示例,我不确定3的位置,但下面是生成所需输出的代码:-
static void Main(string[] args)
{
int[] a = { 1, 2, 3, 9 };
int[] b = { 4, 7, 2 };
int position = 3;
int count = 2;
getresult(a, b, position, count);
Console.ReadLine();
}
static void getresult(int[] a, int[] b,
int n, int m)
{
int firstArrayCount = 0;
for(int i=0; i < n-1 ; i++)
{
Console.WriteLine(a[i]);
firstArrayCount++;
}
for(int i=0; i < m ; i++)
{
Console.WriteLine(b[i]);
}
for(int i=firstArrayCount;i<a.Length;i++)
{
Console.WriteLine(a[i]);
}
for(int i=m;i<b.Length;i++)
{
Console.WriteLine(b[i]);
}
}
static void Main(字符串[]args)
{
int[]a={1,2,3,9};
int[]b={4,7,2};
int位置=3;
整数计数=2;
获取结果(a、b、位置、计数);
Console.ReadLine();
}
静态void getresult(int[]a,int[]b,
整数n,整数m)
{
int firstArrayCount=0;
对于(int i=0;i 对于(int i=firstArrayCount;i一种解决方案可能是:
static void Main(string[] args)
{
int[] a = { 1, 2, 3, 9 };
int[] b = { 4, 7, 2 };
InsertElements(a, b, 3, 2);
}
private static void InsertElements(int[] arr1, int[] arr2, int x, int n)
{
var listOfArr1 = arr1.ToList();
var itemsToInsert = arr2.Take(n);
var itemsToAdd = arr2.Skip(n);
var pos = x - 1;
foreach (var item in itemsToInsert)
{
listOfArr1.Insert(pos, item);
pos++;
}
listOfArr1.AddRange(itemsToAdd);
var result = listOfArr1.ToArray();
}
什么不起作用?你需要调试你的代码,即设置一个断点并逐行检查。如果你不知道怎么做,开始学习。一旦你做到了这一点,你自己可能会取得更大的进步。至少,你需要能够准确地告诉我们代码的行为与你的预期不同的地方和方式n以及当时使用的是什么数据。如果你不能告诉我们,那么你自己没有做足够的研究。你得到了什么而不是期望的结果?你的问题是什么?我想要结果[1,2,4,7,3,9,2]像这样,你引用的赋值问题表明你需要从你的方法中生成一个单独的组合数组。如果void
方法没有ref
参数,你将如何从该方法中生成该数组?很有趣的是,当它实际上没有按要求执行时,它被接受为一个答案。此代码可能会被删除我会按要求显示两个数组的元素,但它不会创建一个组合数组,这是说明中指定的。这几乎肯定是一个家庭作业问题,因此泛型列表可能还没有涵盖,而LINQ肯定也没有。@Addi您是否传递了这些参数?`int[]a={1,2,3,9};int[]b={4,7,2};插入元素(a,b,3,2)`