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

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

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

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

27.09.2010, 00:19. Просмотров 379. Ответов 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 
         { 
             // в этой строчке мне нужно возвратить массив а, и переменную к;
        
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2010, 00:19     Передача массива
Посмотрите здесь:

Передача массива - 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...

С\С++ Передача в функцию 2 массива - C++
Всем доброго времени суток, при написание программы столкнулся с проблемой. void qs(int s_arr, int first, int last, int b) { ...

Передача массива в функцию - C++
есть массив a 100 - кол-во точек 0,1,2 - координаты соответственно x,y,z нужно написать функцию которая будет находить расстояние между...

Передача массива по ссылке - C++
Здравствуйте, помогите разобраться с проблемой: Задание состоит в том, чтобы написать две встраиваемые функции сортировки массива с выбором...

Передача массива и указатели - C++
Приветствую всех. Говорил с другом о передаче в функцию, в и сказал, что если например есть такой код, int f(int *a) я сказал, что это...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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])
{
/////////////
}
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
27.09.2010, 00:28  [ТС]     Передача массива #3
мне не в функцию нужно передать а из функции я должен возвращать массив...
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 по возврату в главную функцию будет измененным.
Reiji Cross
26 / 26 / 1
Регистрация: 14.05.2010
Сообщений: 57
27.09.2010, 03:56     Передача массива #5
//Александр, если вы все еще работаете над той же программой, то вам опять же лучше использовать массив объявлнный глобально, тогда не нужно будет передавать его в функцию и возвращать из нее...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2010, 04:39     Передача массива
Еще ссылки по теме:

Передача двумерного массива - C++
Искал по поиску , но так и не получилось у меня решить мою проблему с передачей динамического двумерного массива #include&lt;iostream&gt; ...

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

Передача массива в функцию. - C++
Здравствуйте. Очень нужна помощь, мне необходимо передать массив в функцию (func). #include &lt;iostream&gt; using namespace std; ...

Передача массива функции - C++
Привет. Хочу передать функции массив в качестве аргумента но не знаю как это сделать. Какой есть способ? Код: void randoming(int...


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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 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'ом, а не переписывать содержимое циклов

глобальные переменные на начальных этапах могут очень сильно запутать код и привычку "чуть что, то сразу глобальные переменные" лучше не развивать, так как используется это дело очень редко (все функции должны быть самостоятельными, так как со временем появляется потребность перекидывать функции между разными программами)
Yandex
Объявления
27.09.2010, 04:39     Передача массива
Ответ Создать тему
Опции темы

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