0 / 0 / 2
Регистрация: 15.11.2012
Сообщений: 25
1

Как принять и возвратить массив в другой функции?

16.12.2012, 01:17. Показов 1474. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
пример:

прототип функции ???

int main()
{
создаём функцию которая задаёт массив b[]
выводим обнавлённый массив
}



int ???(int b[])
{
принимаем массив b[]
увеличиваем каждое значение массива b[] на 1
return ???;
}






*Какой должен быть прототип?
*Как должна приниматься и отдаваться функция?

P.S. Если не сложно простейший пример работающей программы с данными свойствами. Битый час не могу разобраться как это сделать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2012, 01:17
Ответы с готовыми решениями:

Как возвратить массив (array of) в качестве результата функции?
Как возвратить массив (array of Ansichar, например) с помощью функции? после параметров функции...

Как возвратить созданый динамический двухмерный массив из функции в main?
Надо из функции mtx возвртить матрицу в главную функцию. Матрица создаеться и заполняеться в mtx....

Возвратить массив из функции
Вопрос стар как мир it, но неопытному человеку, пока его не ткнут носом почти невозможно самому...

Возвратить массив из функции
как мне из функции input items возвратить мой массив?вот код protected: int ArrayLenght; int...

2
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
16.12.2012, 01:26 2
Лучший ответ Сообщение было отмечено GARFT как решение

Решение

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
#include <iostream>
#include <iomanip>
#include <cstdlib>
 
using namespace std;
 
void in_vect(int *, int);
void print_vect(int *, int);
void do_smt(int* int);
 
int main(int argc, char **argv)
{
    
    // одномерные массивы
    int  n;
    cout <<"n? "; cin>>n;
    int *vect=new int [size];
    in_vect(vect, n);
    print_vect(vect, n);
    delete [] vect;
    return 0;
}
void in_vect(int *a, int n ){
    for (int i=0; i<n; i++)
        a[i]=rand()%10;
    }
 
void print_vect(int *a, int n){
    cout<<endl;
    for (int i=0; i<n; i++)
        cout <<setw(5)<< a[i];
    }
    
 
void do_smt(int *a, int size)
{
         for (int i=0; i<size; i++) a[i]+=2;
}
Добавлено через 2 минуты
В С++ массив всегда передается адресом своего нулевого элемента - адрес это указатель - в примере int *a.
Обращение к элементу a[i] или *(a+i);
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
16.12.2012, 01:31 3
Цитата Сообщение от GARFT Посмотреть сообщение
*Какой должен быть прототип?
C++
1
void funcname (int *pArray, int arrayLength);
или около
Цитата Сообщение от GARFT Посмотреть сообщение
*Как должна приниматься и отдаваться функция?
имеешь ввиду как выглядит обращение к ф-ии?
C++
1
2
int array [3] = {1,2,3};
funcname (array, 3);
0
16.12.2012, 01:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2012, 01:31
Помогаю со студенческими работами здесь

Возвратить массив из функции
Вот код на FPC Lazarus, нада его точь в точь перевести в си++, я специально придумал этот пример...

Не могу возвратить массив из функции
char* slovo_s(char s, int i) { int j=0, k; char sv; while (s&lt;33) i++; while...

Попытка возвратить строковый массив из функции
Пытаюсь передать в main строковый массив из функции Check_NS. Массив в функции типа char*, в main...

скажите можно ли функции возвратить массив
Я бы даже сказал почему ,зачем?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru