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

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

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

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

10.01.2010, 00:12. Просмотров 1219. Ответов 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]);
    ...
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2010, 00:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как обнулить массив из внешней функции? (C++):

Как обратиться к методу класса из внешней функции? - C++
Имеется простой класс Employee с методами GetAge() - возвращает возраст, и SetAge(int age). Как сделать так, чтобы работали функции...

метод класса во внешней функции - C++
подскажите как во внешней функции, если в нее как параметр передан элемент класса, вызвать метод класса для этого самого элемента класса? ...

Объявление внешней функции в namespace - C++
Собственно в файле 1 есть функция namespace Calculation { void Calc() {} } В файле 2: extern void Calculation::Calc(); ...

Обнулить массив char - C++
Как это обнулить на Microsoft Visual Studio IDE char buffer; Пробовал уже buffer = &quot;&quot;; не выходит. Добавлено через 12 минут...

Обнулить массив с помощью указателя - C++
1.как обнулить массив с помощью указателя?? 2.как передать в функцию одномерный и двумерные массивы???

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

7
Tani
25 / 25 / 1
Регистрация: 27.12.2009
Сообщений: 82
10.01.2010, 00:16 #2
clrarr(&array);
А лучше размерность массива объявлять const и тоже передавать в функцию
И массив надо объявлять динамический!
0
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);    // обнуление
1
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
10.01.2010, 00:29  [ТС] #4
Цитата Сообщение от Tani Посмотреть сообщение
clrarr(&array);
И массив надо объявлять динамический!
А вот это не всегда!

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

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

void clrarr(int** arr)


неправильно.
функция ожидает на вход двойной указатель на int, а ты присунул туда двумерный массив. что, как известно, не одно и тоже.
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
10.01.2010, 01:26 #7
OVERPOWER8, зачастую реализация зависит от целей, зачем вам надо обнулять масив?
0
Tani
25 / 25 / 1
Регистрация: 27.12.2009
Сообщений: 82
10.01.2010, 01:47 #8
Цитата Сообщение от Tani Посмотреть сообщение
А как вы будете по ссылке его передавать в функцию? Если только отдельно все 64 элемента
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2010, 01:47
Привет! Вот еще темы с ответами:

Дан массив С[0:n-1]. Обнулить его первый минимальный и последний максимальный элементы - C++
Помогите пожалуйста, нужен полный текст программы

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив? - C++
Допустим есть структура struct Base { int a; int b; int c; }; В основном методе main() объявим массив...

Задать массив из 20 целочисленных элементов и обнулить те числа которые повторяются более 2х раз - C++
Задать массив из 20 целочисленных элементов и обнулить те числа которые повторяются более 2х раз. Я не понял как это делается, помогите плиз

Есть ли C++ нативный способ быстро обнулить массив (аналог bzero)? + ещё 2 вопроса - C++
Второй вопрос - если конструктор обнаружил условия, препятствующие созданию объекта, есть ли способ &quot;не создавать&quot; объект и не использовать...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
10.01.2010, 01:47
Ответ Создать тему
Опции темы

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