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

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

Войти
Регистрация
Восстановить пароль
 
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
#1

Передача массива - C++

27.09.2010, 00:19. Просмотров 388. Ответов 5
Метки нет (Все метки)

Нужна помощь.
как передать массив созданный в функции в main()?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int poisk(AEROFLOT *aeroflot,char *n)
{  int i,k;
 
    k=0;
         for (i=0; i<7; i++)
    {
        if(!strcmp(aeroflot[i].type, n))
        {
                a[k]=i;
         k++;
        }
     }
         if (k==0)
         return (-1);
         else 
         { 
             // в этой строчке мне нужно возвратить массив а, и переменную к;
        
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2010, 00:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача массива (C++):

Передача массива структур в функцию не указывая размера массива - C++
Я читаю с командной строки файл в котором содержится массив структур. Есть библиотека с функцией в которую я прередаю файл и массив...

Передача массива - C++
massiv.cpp int * peredacha() { int mas; for (int i = 0; i &lt; 10; i++) for (int j = 0; j &lt; 10; j++) ...

Передача массива - C++
Как передать массив(вектор) в класс class CZigzagLine { private: int value; public: int &amp;operator() (int...

Передача массива структур - C++
Имеется программа. #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; using namespace std; ...

передача массива по значению - C++
Такая проблема Написал лабу &quot;решение СЛУ методом Гаусса&quot; Все корни идет верно. Но при проверке корней, обнаружил, что исходная матрица...

передача массива в функцию - C++
у меня в мейне есть двумерный массив нужно его передать в дургую функцию как это сделать подскажите плиз

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
27.09.2010, 00:25 #2
Вызываешь функцию , в которую передаешь массив.В скобочках название массива.

C++
1
2
3
4
5
6
7
8
9
int main()
{
Function(Massiv);
}
 
void Function(int Massive[10])
{
/////////////
}
0
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
27.09.2010, 00:28  [ТС] #3
мне не в функцию нужно передать а из функции я должен возвращать массив...
0
mojidabckuu
5 / 5 / 1
Регистрация: 26.09.2010
Сообщений: 25
27.09.2010, 00:34 #4
Для возврата можно написать:
C++
1
return *a;
А чтобы получить счетчик k передавай его с ссылкой, то есть:
C++
1
int poisk(AEROFLOT *aeroflot,char *n, int &k)
Ссылка передает адрес, а не значение, тогда твое k по возврату в главную функцию будет измененным.
1
Reiji Cross
26 / 26 / 1
Регистрация: 14.05.2010
Сообщений: 57
27.09.2010, 03:56 #5
//Александр, если вы все еще работаете над той же программой, то вам опять же лучше использовать массив объявлнный глобально, тогда не нужно будет передавать его в функцию и возвращать из нее...
1
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
27.09.2010, 04:39 #6
C
1
int poisk(int *indexes, int *k, AEROFLOT *aeroflot, char *n);
так как у тебя всё смахивает на C, то пишу тебе сишными способами

массив ты создаёшь прямо в main, подаёшь его в функцию poisk, она проводит запись в него и потом k, созданную внутри, или используемую прямо переданную, устанавливает в нужное значение

лучше создать локальные и массив и переменную, тогда, если ты захочешь переделать прототип, тебе не нужно будет функцию переписывать (будет нужно переписать только те точки, где ты полученный массив записываешь для наружного использования)

так что, если ты вдруг захочешь сделать

C
1
2
3
4
5
6
struct indarr {
    int a[100];
    int k;
};
 
int poisk(struct indarr *array, AEROFLOT *aeroflot, char *n);
то в функции нужно будет переписать строку перед return'ом, а не переписывать содержимое циклов

глобальные переменные на начальных этапах могут очень сильно запутать код и привычку "чуть что, то сразу глобальные переменные" лучше не развивать, так как используется это дело очень редко (все функции должны быть самостоятельными, так как со временем появляется потребность перекидывать функции между разными программами)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2010, 04:39
Привет! Вот еще темы с ответами:

Передача массива в функцию - C++
Не знаю в чем проблема, почему-то в функции act()(это моя функция), итерации выполняются по два раза. Суть задания создать обратную...

Передача массива в функцию - C++
есть массив в методе какого то класса void _mServer::Listen() { .... ULONG s_c; s_c = (ULONG) this; s_c = (ULONG)...

Передача массива в шаблон - C++
// Example program #include &lt;iostream&gt; #include &lt;string&gt; template&lt;typename T, std::size_t N&gt; constexpr std::size_t arraySize (T...

Передача массива в функцию - C++
Я только-только начал изучать указатели, поэтому в этой области туплю... У меня в функции main создается массив указателей на обьекты...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.09.2010, 04:39
Ответ Создать тему
Опции темы

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