Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tumanovalex
3 / 3 / 0
Регистрация: 09.07.2009
Сообщений: 213
#1

Как правильно передать несколько данных в программу из функции? - C++

30.06.2015, 15:12. Просмотров 189. Ответов 1
Метки нет (Все метки)

В функции outArray формирую массив, а затем адрес первого элемента массива вместе с количеством строк и столбцов массива передаю в программу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#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.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2015, 15:12     Как правильно передать несколько данных в программу из функции?
Посмотрите здесь:

Передать функции массив как несколько параметров - C++
Как передать функции массив как несколько параметров те где каждый элемент будет выступать как отдельный параметр

Как правильно передать метод в качестве функции возврата? - C++
Здравствуйте! Вот такая проблема, надо передать указатель на метод класса в библиотечную функцию _s16 CiSetCB(_u8 chan, _u8 ev,...

Составить прототип функции: Как правильно передать динамический массив по ссылке - C++
В dll библиотеке на экспорт имеется прототип следующей функции: extern &quot;C&quot; __declspec(dllexport) void process(double, double(&amp;), const...

Поскажите как правильно повторять программу несколько раз - C++
Вот я состряпал небольшой бред недоучки...и никак не могу сделать правильное повторение данных действий...Я не пойму как правильно удалить...

Как правильно переделать готовую программу под функции? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int main() { int max =0; int imax =-1; ...

Как правильно передать массив в функцию? - C++
Возникла такая загвоздка: написал три функции для работы с массивом. Вроде всё компилирует, кроме вызова этих функций, а конкретнее при...

Не знаю как правильно передать указатель - C++
В общем для начала приложу код ( не пугайтесь , что придется много читать , из этого кода изучить нужно лишь 2 функции и данные структуры )...

Как правильно передать массив через указатель? - C++
#pragma once #include &lt;vector&gt; class TOMathModel { public: TOMathModel(void); ~TOMathModel(void);

Как правильно передать объект fstream в функцию - C++
При использовании следующего подхода возникают вопросы: int myFunc(fstream&amp; data); 1. Если я открою поток из функции, можно ли его...

Как правильно передать уникальный аргумент в функцию - C++
Здравствуйте! Помогите пожалуйста в решении такой проблемы: Есть структура, она должна хранить в себе строку, и уникальный символ. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ThePlague
101 / 101 / 61
Регистрация: 30.06.2015
Сообщений: 272
30.06.2015, 15:52     Как правильно передать несколько данных в программу из функции? #2
Можно передать структурой:

C++
1
2
3
4
5
struct Имя
{
    float *array[size];
    int size;
};
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru