Намерете стойност на матрица в определена позиция

Да приемем, че имам матрица от 5 реда и 10 колони. Попълва се с естествени числа по ред ([0,0] = 1, [0,1] = 2,.....[9,4] = 50). Има ли някакъв начин да разберете кой елемент присъства в конкретна позиция, като се имат предвид индексите на матрицата? Като се има предвид, че имам програма, която приема [9,3] като вход, програмата трябва да отпечата стойността 49.

Мога да направя това с помощта на цикъл и 2D масив. Но искам да знам дали има някакво математическо решение за това, като формула или уравнение и т.н.

Благодаря!


person Rakkesh Kiren    schedule 27.10.2015    source източник


Отговори (1)


Според вашето описание формулата е

A[i,j] = 5*i+j+1

Като цяло, ако има m позиции [0..m-1] на първо място и n позиции [0..n-1] на второ място, тогава подобна формула е

A[i,j] = n*i+j+1

Това отразява увеличение с 1 по редовете и скок с n при слизане с един ред надолу.

person Lutz Lehmann    schedule 27.10.2015
comment
Благодаря много! Осъзнах, че съм направил грешка, докато съм писал въпроса си. Тъй като това е матрица с 5 реда и 10 колони, [4, 9] ще бъде 50. Следователно формулата ще бъде 10*i+j+1 :D - person Rakkesh Kiren; 28.10.2015