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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
#1

Как обнулить массив из внешней функции? - C++

10.01.2010, 00:12. Просмотров 1193. Ответов 7
Метки нет (Все метки)

Здравствуйте.

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

Функция выглядит приблизительно так:

C++
1
2
3
4
5
6
void clrarr(int** arr)
{
    for(int i=0; i<8; i++)
        for(int j=0; j<8; j++)
            arr[i][j]=0;
}
На как сделать так, чтобы она очищала массив из функции main, и из других функций?

C++
1
2
3
4
5
6
7
8
int main() 
{
    ...
    int array[8][8];
    ...
    clrarr(&array[8]);
    ...
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2010, 00:12     Как обнулить массив из внешней функции?
Посмотрите здесь:
Объявление внешней функции в namespace C++
метод класса во внешней функции C++
C++ Обнулить массив char
C++ Обнулить массив с помощью указателя
C++ Передача метода класса в качестве аргумента внешней функции
C++ Дан массив С[0:n-1]. Обнулить его первый минимальный и последний максимальный элементы
Есть ли C++ нативный способ быстро обнулить массив (аналог bzero)? + ещё 2 вопроса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tani
25 / 25 / 1
Регистрация: 27.12.2009
Сообщений: 82
10.01.2010, 00:16     Как обнулить массив из внешней функции? #2
clrarr(&array);
А лучше размерность массива объявлять const и тоже передавать в функцию
И массив надо объявлять динамический!
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
10.01.2010, 00:21     Как обнулить массив из внешней функции? #3
C++
1
2
3
4
5
6
7
8
#include <algorithm>
 
// ...
const int m = 8;
const int n = 8;
int arr[m][n];
 
std::fill(arr[0], arr[0] + m*n, 0);    // обнуление
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
10.01.2010, 00:29  [ТС]     Как обнулить массив из внешней функции? #4
Цитата Сообщение от Tani Посмотреть сообщение
clrarr(&array);
И массив надо объявлять динамический!
А вот это не всегда!

В моем примере массив - это шахматное поле, и не вижу смысла создавать динамический массив.
Tani
25 / 25 / 1
Регистрация: 27.12.2009
Сообщений: 82
10.01.2010, 00:33     Как обнулить массив из внешней функции? #5
А как вы будете по ссылке его передавать в функцию? Если только отдельно все 64 элемента
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
10.01.2010, 01:06     Как обнулить массив из внешней функции? #6
OVERPOWER8,

Функция выглядит приблизительно так:

void clrarr(int** arr)


неправильно.
функция ожидает на вход двойной указатель на int, а ты присунул туда двумерный массив. что, как известно, не одно и тоже.
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
10.01.2010, 01:26     Как обнулить массив из внешней функции? #7
OVERPOWER8, зачастую реализация зависит от целей, зачем вам надо обнулять масив?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2010, 01:47     Как обнулить массив из внешней функции?
Еще ссылки по теме:
Задать массив из 20 целочисленных элементов и обнулить те числа которые повторяются более 2х раз C++
C++ Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами
Перегрузка внешней функции операции "operator=" C++
C++ Как обнулить переменную типа stringstream
как обнулить значение массива в цикле?(с++) C++

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

Или воспользуйтесь поиском по форуму:
Tani
25 / 25 / 1
Регистрация: 27.12.2009
Сообщений: 82
10.01.2010, 01:47     Как обнулить массив из внешней функции? #8
Цитата Сообщение от Tani Посмотреть сообщение
А как вы будете по ссылке его передавать в функцию? Если только отдельно все 64 элемента
Yandex
Объявления
10.01.2010, 01:47     Как обнулить массив из внешней функции?
Ответ Создать тему
Опции темы

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