【发布时间】:2023-01-04 22:32:17
【问题描述】:
我是一个新手程序员,所以有一些问题。该程序仅显示一维数组中的 3 个正元素,尽管二维数组中可能有更多元素。
这是我的代码
using System;
namespace task_2
{
class arrays
{
public int[,] A = new int[3, 3];
public int[] B = new int[9];
public void two_dimensional_array()
{
Random rand = new Random();
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
A[i, j] = rand.Next(-100, 100);
}
}
Console.WriteLine("Two-dimensional array: ");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write("{0}\t", A[i, j]);
}
Console.WriteLine();
}
}
public void one_dimensional_array()
{
Console.WriteLine("\nA one-dimensional array with only positive elements: ");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (A[i, j] > 0)
B[i] = A[i, j];
}
}
for (int i = 0; i < 9; i++)
{
Console.WriteLine(B[i]);
}
}
}
class Program
{
static void Main()
{
Console.OutputEncoding = System.Text.Encoding.Default;
arrays a;
a = new arrays();
a.two_dimensional_array();
a.one_dimensional_array();
}
}
}
我附上了下面的结果照片,其中只显示了三个积极因素: enter image description here
【问题讨论】:
-
您需要调试代码。您不会仅通过查看最终结果来尝试找出代码无法正常工作的原因。您需要准确查看代码在每个步骤中的作用。如果您不知道如何调试,请停止您正在做的事情并学习。即使您仍然无法找到解决方案,您也应该能够准确地告诉我们代码在何处以及如何与您预期的不同。您应该能够告诉我们它发生在哪条线上、数据是什么、您预期会发生什么以及实际发生了什么。找到该站点后,您可以向后查找原因。
-
提示:考虑如果同一行中的两个整数(
i的值相同但j的值不同)为正数会发生什么情况。 -
您需要一个变量 k 来索引输出:B[k++]