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

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

Войти
Регистрация
Восстановить пароль
 
qseminq
1 / 1 / 0
Регистрация: 05.11.2012
Сообщений: 8
#1

Взаимодействие функции и массива - C++

08.02.2013, 19:07. Просмотров 310. Ответов 3
Метки нет (Все метки)

Не понял, почему когда вводишь в функцию массив и его размер (12) она возвращает его (хотя она void)?
C++
1
2
3
4
5
void setRand(int arr[], const int len)
{
    for(int i = 0; i < len; i++)
    arr[i] = rand() % 100;
}
Кликните здесь для просмотра всего текста
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
   
using namespace std;
 
void setRand(int[], const int);
void invertArray(int[], const int);
void printArray(int[], const int);
   
int main()
{
    const int length = 12;
    int array[length];
    bool label;
    
    srand(time(NULL));
    
        setRand(array, length);
    
    //заполнили массив - теперь выводим его на экран
    //затем инвертируем и опять выводим
    printArray(array, length);
    invertArray(array, length);
    printArray(array, length);
    
    return 0;
}
 
//рандомное заполнение массива
void setRand(int arr[], const int len)
{
    for(int i = 0; i < len; i++)
    arr[i] = rand() % 100;
}
 
//инверсия массива
void invertArray(int arr[], const int len)
{
    int temp;
    
    for(int i = 0; i < len / 2; i++)
    {
        temp = arr[i];
        arr[i] = arr[len - i - 1];
        arr[len - i - 1] = temp;
    }
}
 
//печать массива
void printArray(int arr[], const int len)
{
    for(int i = 0; i < len; i++)
        cout << setw(3) << arr[i];
    
    cout << endl;
}

Напишите пример с переменной например, чтобы разобраться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2013, 19:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Взаимодействие функции и массива (C++):

Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива. - C++
Транспонировать матрицу через ввод вывод функции двумерного массива.Сначала вывести ее,а потом провести транспонирование.

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

Используя перегруженные функции и шаблон функции удалить из массива элемент по индексу - C++
Стоит следующая задача: Используя перегруженные функции и шаблон функции удалить из массива элемент по индексу. Функцию написал, но я...

Как присвоить второму элементу массива в функции A(), значение, которое было возвращено из функции B()? - C++
Как присвоить к второму элементу массива в функции innfunc значение 10, который вернет innfunc1? Замечание: нельзя указывать b = 10, а...

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

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

3
abit
272 / 271 / 36
Регистрация: 03.02.2013
Сообщений: 770
08.02.2013, 19:25 #2
она возвращает его
что значит возвращает? ничего она в вашем коде не возвращает... может имелось в виду "изменяет его"?
0
qseminq
1 / 1 / 0
Регистрация: 05.11.2012
Сообщений: 8
08.02.2013, 19:29  [ТС] #3
abit, да, извини, я это и имел ввиду.
сможешь написать пример с изменением переменной?, а то мне очень нужно
0
abit
272 / 271 / 36
Регистрация: 03.02.2013
Сообщений: 770
08.02.2013, 20:01 #4
Цитата Сообщение от qseminq Посмотреть сообщение
abit, да, извини, я это и имел ввиду.
сможешь написать пример с изменением переменной?, а то мне очень нужно
пожалуйста, сразу два способа :

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
#include <iostream>
   
using namespace std;
 
void myfunc1 (int* T)
{
    *T = 10;
}
 
void myfunc2 (int& T)
{
    T = 5;
}
 
int main()
{
    int a = 0;
    cout << a << endl; // 0
    myfunc1(&a);
    cout << a << endl; // 10
    myfunc2(a);
    cout << a << endl; // 5
    
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2013, 20:01
Привет! Вот еще темы с ответами:

Сразу три 1.анализ функции, 2.замена элементов массива, 3.максимальный элемент массива - C++
1. Протабулировать заданную функцию y = f(x) на промежутке с постоянным шагом h. интервал =; шаг h=0.1; система уравнений (х-1)^4 и...

Открытые функции класса: ввод массива, вывод массива, определение длины вектора - C++
Данные класса: массив N(10). Открытые функции класса: ввод массива, вывод массива, определение длины вектора. Длина массива определяется...

Удалить из массива A[N] вс отрицательные элементы.Удаление отрицательных элементов массива оформить в виде функции - C++
Что исправить? #include &lt;stdio.h&gt; #define N 10 int udalenie(int A,int k ) { int i; for(i=k;i&lt;N;i++)

С помощью функции определения среднего значения элементов массива обработать два массива разной размерности - C++
Помогите составить программу с использованием только функции. Эту тему прошли, но свое задание я так и не сделал, т.к не совсем разобрался...


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

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

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