Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
mskoromets
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 130
Завершенные тесты: 2
#1

Передача массива функции - C++

11.04.2017, 17:44. Просмотров 162. Ответов 8
Метки нет (Все метки)

Привет. Хочу передать функции массив в качестве аргумента но не знаю как это сделать. Какой есть способ?
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 void randoming(int massive) // в качестве аргумента должен выступать массив
{
    srand(static_cast<unsigned int>(time(0)));
    for (int i = 0; i < SIZE; i++)
    {
        int index1 = (rand() + 1) % SIZE;
        int index2 = (rand() + 1) % SIZE;
        while (index1 == index2) index2 = (rand() + 1) % SIZE;
        int to_swap = massive[index1];
        massive[index1] = massive[index2];
        massive[index2] = to_swap;
    }
}

http://www.cyberforum.ru/cpp-beginners/thread1885446.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2017, 17:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Передача массива функции (C++):

Передача динамического массива в функции
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; /*const*/ int...

Передача массива из функции в функцию
Привет народ) Объясните плиз,как возвращать массив из функции. Ниже функция из...

Передача массива объектов функции
Выбивает о каком-то недопустимом внешнем символе, подскажите что не так. Вот...

Передача массива в функцию и из функции
Здравствуйте, у меня простая задача, я ее решила, но вот с передачей данных от...

Передача массива вызывающей функции
Как можно передать массив целиком в вызывающую функцию? И можно ли сделать...

8
nmcf
6237 / 5549 / 2524
Регистрация: 14.04.2014
Сообщений: 23,337
11.04.2017, 17:50 #2
Лучший ответ Сообщение было отмечено mskoromets как решение

Решение

C++
1
void randoming(int massive[])
1
nd2
2828 / 2398 / 1052
Регистрация: 29.01.2016
Сообщений: 8,022
11.04.2017, 17:57 #3
Цитата Сообщение от mskoromets Посмотреть сообщение
Какой есть способ?
C++
1
void randoming(int* massive)
0
MrGluck
Модератор
Эксперт CЭксперт С++
7981 / 4862 / 1423
Регистрация: 29.11.2010
Сообщений: 13,237
11.04.2017, 18:00 #4
C++
1
2
template <size_t SIZE>
void randoming(int (&massive)[SIZE])
1
mskoromets
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 130
Завершенные тесты: 2
11.04.2017, 18:02  [ТС] #5
nmcf, ну да, в принципе очевидно, спасибо

Добавлено через 1 минуту
nd2, а это ссылка на первый элемент массива?
0
nd2
2828 / 2398 / 1052
Регистрация: 29.01.2016
Сообщений: 8,022
11.04.2017, 18:06 #6
Цитата Сообщение от mskoromets Посмотреть сообщение
ну да, в принципе очевидно
Не так тут всё очевидно, как кажется.
Цитата Сообщение от mskoromets Посмотреть сообщение
а это ссылка на первый элемент массива?
Это указатель на начало массива, так же, как и здесь:
Цитата Сообщение от nmcf Посмотреть сообщение
C++
1
void randoming(int massive[])
Добавлено через 1 минуту
А здесь уже ссылка на массив размером SIZE:
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
2
template <size_t SIZE> 
void randoming(int (&massive)[SIZE])
1
mskoromets
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 130
Завершенные тесты: 2
11.04.2017, 18:17  [ТС] #7
nd2, Есть ещё вопрос: как сделать так чтобы в данном массиве свапались все элементы КРОМЕ первого(massive[0]). Я написал
C++
1
 (rand() + 1) % SIZE
, но все равно первый элемент меняется местами с остальными
0
nd2
2828 / 2398 / 1052
Регистрация: 29.01.2016
Сообщений: 8,022
11.04.2017, 18:24 #8
Как-то, так:
C++
1
(rand() % (SIZE - 1)) + 1
1
mskoromets
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 130
Завершенные тесты: 2
11.04.2017, 18:36  [ТС] #9
nd2, Спасибо большое
0
11.04.2017, 18:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2017, 18:36
Привет! Вот еще темы с решениями:

Передача массива структур в функции
Написал лабораторную работу, программа свои функции выполняет, но мне кажется,...

Передача двухмерного массива функции
Подскажите пожалуйста как передать статический массив array в функцию fn(),...

Передача двумерного массива в функции
Мне нужно передать массив в функцию, а затем из этой функции в другую функцию....

Передача двумерного массива в функции
Здравствуйте. В c++ недавно. Компилятор ругается. Как правильно передать...


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

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

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