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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.56
SanAlex
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 28
#1

Массивы и функции как параметры - C++

18.06.2013, 18:14. Просмотров 1246. Ответов 23
Метки нет (Все метки)

Из главной функции нужно вызвать промежуточную функцию с 3 параметрами - (введённый двумерный массив, кол-во элементов, функция).
Последний параметр действие(функция) которое нужно выполнить над массивом. Например заменить нулем все элементы столбца после минимального элемента.
Сложность у меня вызвало то что промежуточная функция должна выполнить это действие для конкретных элементов.
Например у меня выполнить действие для столбцов у которых последний элемент имеет чётное значение.
Как в промежуточной функции я должен уметь различить это, если я получаю целиков массив в параметрах?
При выполнении действия как то передавать ему нужный столбец как отдельную структуру?

Если писанина вся эта не ясна вот схема вызовов функций:

main -> промежуточная функция (3 параметра), определяются нужные столбцы -> функция(действие над выбранными столбцами)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2013, 18:14     Массивы и функции как параметры
Посмотрите здесь:
C++ Массивы, как параметры функций
Как сделать выходные параметры у функции? C++
C++ Как вызвать из 1 функции параметры другой?
C++ Какими способами можно использовать функции класса B, как параметры функции Sub класса А?
Как работают приведенные функции, какие у них параметры? C++
Как задать параметры запуска (аргументы командной строки) функции main? C++
Вычислить суммы с данной точностью е, используя указатели на функции, как параметры C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
16.07.2013, 23:06     Массивы и функции как параметры #16
Цитата Сообщение от Nick Alte Посмотреть сообщение
компилятор усердно занимается
вот когда компилятор занимается такими преобразованиями это хорошо, а когда программист - плохо.
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,931
Завершенные тесты: 1
16.07.2013, 23:16     Массивы и функции как параметры #17
Цитата Сообщение от Tulosba Посмотреть сообщение
вот когда компилятор занимается такими преобразованиями это хорошо, а когда программист - плохо.
Не совсем так. Иногда такие преобразования нужны (в случае тех же динамических массивов, например), и их нужно делать именно программисту. И плохо это будет только в том случае, если он станет их делать раз за разом вместо того, чтобы сделать единожды.
SanAlex
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 28
28.09.2013, 16:23  [ТС]     Массивы и функции как параметры #18
Tulosba
вы писали:
2. Созданный в куче:
Код C++
1
2
3
4
int** a = new int*[10]; // Выделяем массив указателей на строки (одномерные массивы)
for( int i=0; i<10; ++i ) {
a[i] = new int[20] // Выделяем одномерный массив под каждую строку.
}

массив передаётся в функцию так:

1
void f( int** a );
А как этот двумерный массив будет описан в качестве формального параметра в заголовке функции?
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
28.09.2013, 17:36     Массивы и функции как параметры #19
Цитата Сообщение от SanAlex Посмотреть сообщение
А как этот двумерный массив будет описан в качестве формального параметра в заголовке функции?
C++
1
void f( int** a );
SanAlex
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 28
28.09.2013, 17:47  [ТС]     Массивы и функции как параметры #20
Tulosba,
Блин, а как теперь к массиву обращаться внутри функции? Определённому элементу?
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
28.09.2013, 17:55     Массивы и функции как параметры #21
SanAlex, a[i][j] конечно же
SanAlex
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 28
28.09.2013, 17:55  [ТС]     Массивы и функции как параметры #22
Не то спросил
Если объявляем так:
C++
1
void f( int** a );
Какой будет вызов?
и как обращаться к массиву внутри функции. Спасибо.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
28.09.2013, 17:57     Массивы и функции как параметры #23
Цитата Сообщение от SanAlex Посмотреть сообщение
Какой будет вызов?
C++
1
2
3
int** a; 
// выделяем память (см. #12)
f( a ); // вызываем
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2013, 17:59     Массивы и функции как параметры
Еще ссылки по теме:
C++ Чтение из файла, название передано как параметры функции main argc & argv
Как сделать динамические массивы вместо обычных? Используя функции C++
C++ Параметры функции
C++ Параметры функции
C++ Параметры функции

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

Или воспользуйтесь поиском по форуму:
SanAlex
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 28
28.09.2013, 17:59  [ТС]     Массивы и функции как параметры #24
Tulosba, спасибо большое!
Yandex
Объявления
28.09.2013, 17:59     Массивы и функции как параметры
Ответ Создать тему
Опции темы

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