tumanovalex
30-06-2015, 15:17
В функции outArray формирую массив, а затем адрес первого элемента массива вместе с количеством строк и столбцов массива передаю в программу:#include <iostream>
#include <string>
#include <tchar.h>
using namespace std;
float** outArray()
{
float nrow = 3.0;
float ncol = 5.0;
float flArray[][5] = { { 1.1, 1.2, 1.3, 1.4, 1.5 },
{ 2.1, 2.2, 2.3, 2.4, 2.5 },
{ 3.1, 3.2, 3.3, 3.4, 3.5 } };
float* out[3];
out[0] = &nrow;
out[1] = &ncol;
out[2] = &flArray[0][0];
return out;
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Russian");
float** out2 = outArray();
int nrow = (int) (*out2[0]);
int ncol = (int) (*out2[1]);
float** fla = &out2[2];
for (int i = 0; i < nrow; i++)
{
for (int j = 0; j < ncol; j++)
{
cout << fla[i*ncol + j] << '\t'; // Здесь ошибка
}
cout << endl;
} cin.get();
return(EXIT_SUCCESS);
}Возникли следующие вопросы:
- как в моей программе, зная адрес первого элемента массива, количество строк и столбцов, вывести значения массива?
- с помощью каких типов C++ удобно передавать (возвращать) данные различных типов? Например, в моем случае передать массив float и количество строк и столбцов int.
#include <string>
#include <tchar.h>
using namespace std;
float** outArray()
{
float nrow = 3.0;
float ncol = 5.0;
float flArray[][5] = { { 1.1, 1.2, 1.3, 1.4, 1.5 },
{ 2.1, 2.2, 2.3, 2.4, 2.5 },
{ 3.1, 3.2, 3.3, 3.4, 3.5 } };
float* out[3];
out[0] = &nrow;
out[1] = &ncol;
out[2] = &flArray[0][0];
return out;
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Russian");
float** out2 = outArray();
int nrow = (int) (*out2[0]);
int ncol = (int) (*out2[1]);
float** fla = &out2[2];
for (int i = 0; i < nrow; i++)
{
for (int j = 0; j < ncol; j++)
{
cout << fla[i*ncol + j] << '\t'; // Здесь ошибка
}
cout << endl;
} cin.get();
return(EXIT_SUCCESS);
}Возникли следующие вопросы:
- как в моей программе, зная адрес первого элемента массива, количество строк и столбцов, вывести значения массива?
- с помощью каких типов C++ удобно передавать (возвращать) данные различных типов? Например, в моем случае передать массив float и количество строк и столбцов int.