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

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

Восстановить пароль Регистрация
 
qseminq
1 / 1 / 0
Регистрация: 05.11.2012
Сообщений: 8
08.02.2013, 19:07     Взаимодействие функции и массива #1
Не понял, почему когда вводишь в функцию массив и его размер (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;
}

Напишите пример с переменной например, чтобы разобраться
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2013, 19:07     Взаимодействие функции и массива
Посмотрите здесь:

Функции создания массива и удаления эл-та из массива C++
Сразу три 1.анализ функции, 2.замена элементов массива, 3.максимальный элемент массива C++
Функции в с++. Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D. C++
использование массива из функции в другой функции C++
C++ Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
08.02.2013, 19:25     Взаимодействие функции и массива #2
она возвращает его
что значит возвращает? ничего она в вашем коде не возвращает... может имелось в виду "изменяет его"?
qseminq
1 / 1 / 0
Регистрация: 05.11.2012
Сообщений: 8
08.02.2013, 19:29  [ТС]     Взаимодействие функции и массива #3
abit, да, извини, я это и имел ввиду.
сможешь написать пример с изменением переменной?, а то мне очень нужно
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
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;
}
Yandex
Объявления
08.02.2013, 20:01     Взаимодействие функции и массива
Ответ Создать тему
Опции темы

Текущее время: 16:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru