![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 30.05.2009
Сообщений: 3
|
![]()
Делаю первые шаги в освоении С++.
Нужно, чтобы возвращаемое значение функции было массивом. Как это сделать (если вообще возможно)? На объявление типа int fff[20] (...) {...} компилятор ругается. Иными словами, переведите, пожалуйста, с паскаля на С++: Type aaa : array[1..20] of integer; Function fff(...) : aaa; Begin ... fff[1]:=a; fff[2]:=b; ... End; Заставить функцию просто писать данные в нек. массив в данном случае нельзя, т.к. функция будет вызываться рекуррентно Последний раз редактировалось Diusha; 28.09.2014 в 08:06. |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
http://www.programmersforum.ru/showp...4&postcount=27
int** InputMatrix(int Rows,int Columns) возвращает матрицу.
I'm learning to live...
|
![]() |
![]() |
#3 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
Не уверен что правильно понял:
Function fff(...) : aaa; Выглядит как объявление функции по имени fff. Однако: fff[1]:=a; Выглядит как обращение к 1 элементу функции. Но это же функция, а не массив? На паскале я в последний раз писал ещё в школе много лет назад. Поэтому, могу просто не понять конструкцию. http://rextester.com/LZFRK95139 Код:
Цитата:
Просто на самом деле это не принципиально. Если функция имеет доступ к массиву (не важно где находится сам массив. предположим - это глобальная переменная) - значит она может обратиться к нему и рекурсивно тоже. Последний раз редактировалось Stilet; 28.09.2014 в 13:19. |
|
![]() |
![]() |
#4 | |||
Регистрация: 30.05.2009
Сообщений: 3
|
![]() Цитата:
Цитата:
fff[1]:=a; Находится в теле функции – между Begin и End (Begin и End это аналог сишных { } ). В паскале нет return(), и выходное значение задается или поэлементно (fff[1]:=a) или целиком: fff:=arr (где arr – предварительно заданный массив правильного формата). Вы правы Цитата:
В данном случае я действительно смогу завести массив на стороне и обойтись без функции-массива. Всем спасибо, буду разбираться (пока «по слогам») в приведенных кодах. Наверно, еще спрошу |
|||
![]() |
![]() |
#5 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
путь с++ - это путь typedef. Код можно значительно упростить, если грамотно подобрать синоним типам.
например приведенный мною выше код можно переписать так: http://rextester.com/ZBQP71139 Код:
|
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция, возвращающая массив | KORT | Общие вопросы Delphi | 10 | 04.02.2013 12:41 |
Функция, возвращающая массив (С++) | Alendorff | Помощь студентам | 14 | 09.03.2012 17:23 |
Функция возвращающая указатель | ]tach[ | Общие вопросы C/C++ | 1 | 19.01.2011 14:35 |
Функция возвращающая char | Exeil | Общие вопросы C/C++ | 2 | 18.10.2010 19:42 |
Функция возвращающая строку(си++). | necky | Помощь студентам | 1 | 18.10.2008 18:32 |