6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 132
1

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

11.04.2017, 17:44. Показов 1460. Ответов 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;
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2017, 17:44
Ответы с готовыми решениями:

Передача массива из функции
Всем привет! Только начал изучать С++ и вот столкнулся с проблемой, как вывести массив символов из...

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

Передача массива Функции, ошибка
VS 2010 ругаеться ( Код из книги Дейтлов Что не так ? Как можно по другому подскажите пожалуйста ...

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

8
7167 / 6142 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
11.04.2017, 17:50 2
Лучший ответ Сообщение было отмечено mskoromets как решение

Решение

C++
1
void randoming(int massive[])
1
nd2
3431 / 2810 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
11.04.2017, 17:57 3
Цитата Сообщение от mskoromets Посмотреть сообщение
Какой есть способ?
C++
1
void randoming(int* massive)
0
Форумчанин
Эксперт CЭксперт С++
8191 / 5041 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.04.2017, 18:00 4
C++
1
2
template <size_t SIZE>
void randoming(int (&massive)[SIZE])
1
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 132
11.04.2017, 18:02  [ТС] 5
nmcf, ну да, в принципе очевидно, спасибо

Добавлено через 1 минуту
nd2, а это ссылка на первый элемент массива?
0
nd2
3431 / 2810 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
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
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 132
11.04.2017, 18:17  [ТС] 7
nd2, Есть ещё вопрос: как сделать так чтобы в данном массиве свапались все элементы КРОМЕ первого(massive[0]). Я написал
C++
1
 (rand() + 1) % SIZE
, но все равно первый элемент меняется местами с остальными
0
nd2
3431 / 2810 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
11.04.2017, 18:24 8
Как-то, так:
C++
1
(rand() % (SIZE - 1)) + 1
1
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 132
11.04.2017, 18:36  [ТС] 9
nd2, Спасибо большое
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2017, 18:36
Помогаю со студенческими работами здесь

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

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

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

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


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

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

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