Я был бы очень признателен, если кто-то может указать мне в правильном направлении. За последние пару месяцев я изучаю C#, используя книгу Мураха C# 2013, это хорошая книга, однако вовремя она не имеет определенных деталей. Я работаю с массивами и, наконец, собираюсь с многомерными массивами, я написал простую логику, в которой многомерный массив объявляется и заполняется как (4x4) таблица умножения с использованием вложенных «For Loop», которые работают как ожидалось. Проблема в том, что теперь я пытаюсь найти заданное значение int внутри массива 2d, используя вложенный «For Loop», и я хотел бы найти значение int, перейдя по всем строкам и столбцам и получив его местоположение, используя индексы массива. Я был на пару дней, я искал в Интернете, но не смог найти надежного направления.Поиск значения int в многомерном массиве?
Цель: после заполнения таблицы умножения теперь я бы хотел разместить «9» во всех столбцах и строках.
Было бы замечательно, если бы кто-то мог заставить меня пойти с ним. Вот мой код.
//CONSTANT ARRAY LENGTH
const int multiTable = 4;
//ARRAY
int [ , ] multiplicationTableArr =
new int[multiTable, multiTable]; // 4 x 4 table
//MULTIPLICATION METHOD
private void MultiplicationTable
{
int r; //ROW
int c; //COLUMN
int result;
for (r = 0; r < multiplicationTableArr.GetUpperBound(0); r++)
{
//NESTED FOR LOOP
for (c = 0; c < multiplicationTableArr.GetUpperBound(0); c++)
{
result = (r + 1) * (c + 1);
multiplicationTableArr[r, c] = result;
break;
}//NESTED FOR LOOP ENDS
}
}
// SEACHFORVALUE METHOD
private void seachForValue()
{
int r; //ROW
int c; //COLUMN
int intSearchNumber;
txtTable.Clear(); //clear the text box
intSearchNumber = int.Parse(txtSearchNumber.Text);
for (r = 0; r < multiplicationTableArr.GetLength(0); r++)
{
for (c = 0; c < multiplicationTableArr.GetLength(1); c++)
{
if (intSearchNumber == multiplicationTableArr[r,c])
{
txtTable.AppendText(r + ", " + c.ToString());
}
}//NESTED FOR LOOP ENDS
}
}
спасибо.
А что не работает? Он показывает некоторые результаты в текстовом поле? –
Я понимаю, что 4x4 не большой стол, поэтому я увеличил его до 12x12. Я могу найти любое значение менее 10, и моя текущая логика показывает значение в таблице один раз. Так что скажем, если я ищу 12, я знаю, что 12 появляется больше, чем один раз, но моя логика показывает только, что он появляется только один раз в строках и столбцах. Спасибо. – Combustion007