|
|
|
| #include "stdafx.h"
#include "locale"
#include "conio.h"
#include "iostream"
#include "time.h"
#include "function.h"
const int n = 5;
int _tmain(int argc, _TCHAR* argv[])
{
using namespace std;
// Настраиваем программу на используемый язык
setlocale(LC_CTYPE, "Russian_Russia.1251");
double a[n][n];
double *triangl;
int k = n*(n+1)/2;
int i, j, m;
triangl = new double[k];
for(i=0; i<k; i++)
{
triangl[i] = double(rand()%200);
cout << triangl[i] << " ";
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
m = ???????;
a[i][j] = triangl[m];
}
}
cout << endl;
cout << endl;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
cout << a[i][j] << " ";
cout << endl;
}
cout << endl;
delete[] triangl;
system("pause");
return 0;
}
суть такова. двумерный массив заполняется датчиком псевдослучайных чисел. его надо хранить в одномерном массиве. вместо "??????" надо ввести формулу, которая будет определять положение любого элемента заданного через i и j в одномерном массиве. формула по идее должна включать n, i, j. помгите если кто-то знает.) | |
|
|
|
|
|
|
|
для: proudyouth
(01.03.2011 в 17:47)
| | m=n*i+j | |
|
|
|
|
|
|
|
для: proudyouth
(01.03.2011 в 17:47)
| | не понял вопроса. Вам надо двумерный массив перевести в одномерный? Если да - то создаем новый (одномерный)массив и пишем туда ячейка за ячейкой. Ну а если просто представить для пользователя адреса как одномерный без изменения, то выше вам формулу написали. | |
|
|
|