【问题标题】:Arrays with even and odd numbers [closed]偶数和奇数的数组[关闭]
【发布时间】:2016-04-04 03:05:59
【问题描述】:

我有一个问题,请帮我创建 2 个arrays。
1) 偶数数组
2) 奇数数组

在标签中,我看到一切正常。阵法不错。但它们并没有像我预期的那样创建。

和数组 2

我的数组代码是

for (indexi = 2; indexi < masivi1.Length; indexi = indexi + 2)
{
    masivi1[indexi] = indexi;

}
for (k = 2; k < masivi1.Length; k = k + 2)
{


    label2.Text += masivi1[k].ToString;
}

第二个数组

for (indexi1 = 0; indexi1 < masivi2.Length; indexi1++)
{
    if (indexi1 % 2 != 0)
    {
        masivi2[indexi1] = indexi1;
    }
}
for (k1 = 0; k1 < masivi2.Length; k1++)
{
    if (k1 % 2 != 0)
    {
        label3.Text += masivi2[k1].ToString() + " | ";
    }
}

有人可以帮助展示正确创建数组的解决方案

2,4,6...
1,3,5...

【问题讨论】:

  • 点击上面的链接后果自负
  • @Drew:我看到的只是几张截图。再说一次,我使用的是 NoScript;不知道如果我让它运行脚本,它是否会尝试一些讨厌的事情。
  • 为什么有人不能创建文本输出,这超出了我的理解。一个站在这里的人,我会原谅更多。据我们所知,这甚至不是一个真正的问题。
  • 请不要在您的问题中包含图片链接。如果它们对问题很重要,则将图片包含在 stackoverflow 系统本身上。请编辑您的问题。谢谢。
  • 我同意德鲁的观点。请将数组作为文本直接放在问题中。使用这样的链接充其量是不方便的。对我来说,这非常可疑,尤其是因为您使用了缩短的链接。我不会点击它。

标签: c# .net arrays loops arraylist


【解决方案1】:

你可以像这样用奇数、偶数填充两个数组

var evenArray = new int[10];
var oddArray = new int[10];

for (int i = 0, even = 0; i < evenArray.Length; i++, even += 2)
{
    evenArray[i] = even;
}

for (int i = 0, odd = 1; i < oddArray.Length; i++, odd += 2)
{
    oddArray[i] = odd;
}

生产

evenArray = [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 ]
oddArray = [ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 ]

【讨论】:

  • 谢谢。这项工作很好。非常感谢
  • @refreshg 很高兴它有帮助。请看cmets,下次写出更好的帖子:)
【解决方案2】:
for (int indexi = 0; indexi < masivi1.Length && indexi < masivi2.Length; ++indexi)
{
    if (indexi % 2 == 0)
    {
        masivi1[indexi / 2] = indexi;
    }
    else
    {
        masivi2[indexi / 2] = indexi;
    }
}

【讨论】:

  • 虽然这段代码可以回答这个问题,但最好解释一下它的作用并添加一些参考。
【解决方案3】:

不确定您要达到什么目的,但这看起来不对:

for (indexi = 2; indexi < masivi1.Length; indexi = indexi + 2)
{
     masivi1[indexi] = indexi;
}

因为您只在每隔一个数组元素中放入一些东西,即 2、4、6、...

也许这就是你想要的:

for (indexi = 0; indexi < masivi1.Length; ++indexi)
{
       masivi1[indexi] = 2*indexi + 2;

}

第二个数组也有同样的问题:

for (indexi1 = 0; indexi1 < masivi2.Length; indexi1++)
{
      if (indexi1 % 2 != 0)   // This line means that you only put
                              // elements in the array when index1 = 1, 3, 5, ...
      {
            masivi2[indexi1] = indexi1;
      }
}

【讨论】:

    猜你喜欢
    • 2014-06-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    相关资源
    最近更新 更多