Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 19
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата tumanovalex:
- как в моей программе, зная адрес первого элемента массива, количество строк и столбцов, вывести значения массива? »
Код: Выделить весь код
#include <iostream>

auto outArray() -> float(*)[5]
{
   static float flArray[3][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 } };
   return flArray;
}

int main()
{
   auto array = outArray();

   for (std::size_t i = 0; i < 3; ++i)
   {
      for (std::size_t j = 0; j < 5; ++j) std::cout << array[i][j] << " ";
      std::cout << "\n";
   }
}
Цитата tumanovalex:
- с помощью каких типов C++ удобно передавать (возвращать) данные различных типов? Например, в моем случае передать массив float и количество строк и столбцов int. »
Используй вектор или array:
Код: Выделить весь код
#include <iostream>
#include <array>

const std::array<std::array<float, 5>, 3>& outArray()
{
   static const std::array<std::array<float, 5>, 3> flArray =
   {  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  };

   return flArray;
}

int main()
{
   auto &array = outArray();

   for (auto &ar : array)
   {
      for (float fl : ar) std::cout << fl << " ";
      std::cout << "\n";
   }
}

Отправлено: 17:30, 30-06-2015 | #2