Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Задачка с двумерными матрицами


Автор: CuteBunny 9.6.2008, 15:57
Есть двумерный массив, там к примеру matrix[n][m], заполнен числами, по порядку от 0 до n*m-1, т.е.
        
Код


int matrix[4][4]

/*
0, 1, 2, 3,
4, 5, 6, 7,
8, 9, 10, 11,
12, 13, 14, 15

или */

int matrix[5][5]

/*
0, 1, 2, 3, 4, 
5, 6, 7, 8, 9, 
10, 11, 12, 13, 14,
15, 16, 17, 18, 19,
20, 21, 22, 23, 24
*/



Вот, элементы массива только такие, как узнать i, j, зная только сам элемент, не делая поиск в самом массиве, а только по значению элемента, n & m так же известны???


Автор: rrrFer 9.6.2008, 16:12
CuteBunny
Код

#include <iostream>
using namespace std;
#define n 4
void main(){
    int a[n][n],i,j,e;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            a[i][j]=(i)*n+j+1;
    cin>>e;
    for(i=0;i<n;i++,cout<<endl)
        for(j=0;j<n;j++)
            cout<<a[i][j]<<" ";
    j=e%n;
    i=(e-j)/n;
    cout<<"i: "<<i<<" j: "<<j;
    system("pause");
}

по сути и так можно: 
Код

  j=e%n;
  i=e/n;

Автор: CuteBunny 9.6.2008, 16:24
rrrFer - МОЗГ, +1, СПАСИБ smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)