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

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

Войти
Регистрация
Восстановить пароль
 
TyLinka
32 / 32 / 11
Регистрация: 02.02.2012
Сообщений: 177
#1

Передача столбца массива в функцию - C++

19.11.2014, 18:00. Просмотров 461. Ответов 3
Метки нет (Все метки)

Здравствуйте!
Подскажите, можно ли передать столбец в функцию, чтобы в ней работать со столбцом матрицы, как с одномерным массивом?
Например, для нахождения максимальных значений в столбцах (ниже находит в строчках).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
double fmax(const double *a, const int m)
{
    double max = *a;
    for (int i=0; i<m; i++)
        if (a[i] > max)
            max = a[i];
    return max;
}
int main()
{
    const int n = 3, m = 4;
    double a[n][m], b[m], max;
    for (int i=0; i<n; i++)
        for (int j=0; j<m; j++)
            scanf("%lf", &a[i][j]);
    
    for (int j=0; j<n; j++)
    {
        b[j] = fmax(a[j], m);
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2014, 18:00     Передача столбца массива в функцию
Посмотрите здесь:

Передача массива структур в функцию не указывая размера массива - C++
Я читаю с командной строки файл в котором содержится массив структур. Есть библиотека с функцией в которую я прередаю файл и массив...

Передача массива в функцию - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;time.h&gt; using namespace std; void maxx(); int main(int argc, char *argv) ...

Передача массива в функцию - C++
Помогите разобраться как правильно вписать простейший массив вфункцию #include&lt;iostream&gt; #include&lt;windows.h&gt; #include&lt;ctime&gt; using...

Передача массива в функцию. - C++
Здравствуйте. Очень нужна помощь, мне необходимо передать массив в функцию (func). #include &lt;iostream&gt; using namespace std; ...

Передача массива в функцию - C++
Как сделать функцию, в которую будет передавться массив. я что-то не оч понимаю. вот исходный код #include &lt;iostream&gt; #include...

С\С++ Передача в функцию 2 массива - C++
Всем доброго времени суток, при написание программы столкнулся с проблемой. void qs(int s_arr, int first, int last, int b) { ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
19.11.2014, 18:08     Передача столбца массива в функцию #2
чтоб получалась передача именно столбца, наверное, стоит при вводе строки с столбцами поменять местами
C++
1
2
3
for (int j=0; j<m; j++)
          for (int i=0; i<n; i++)
            scanf("%lf", &a[i][j]);
так как элементы в строке хранятся последовательно в памяти, а вот в столбцах - нет. поэтому для работы со строкой через указатель можно пользоваться индексами.
TyLinka
32 / 32 / 11
Регистрация: 02.02.2012
Сообщений: 177
19.11.2014, 18:11  [ТС]     Передача столбца массива в функцию #3
Решила проблему
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
double fmax(const double *a, const int m, const int n)
{
    double max = *a;
    for (int i=0; i<n; i++)
        if (*(a+i*m) > max)
            max = *(a+i*m);
    return max;
}
int main()
{
    const int n = 3, m = 4;
    double a[n][m], b[m], max;
    for (int i=0; i<n; i++)
        for (int j=0; j<m; j++)
            scanf("%lf", &a[i][j]);
    
    for (int j=0; j<m; j++)
    {
        b[j] = fmax(&a[0][j], m, n);
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2014, 18:19     Передача столбца массива в функцию
Еще ссылки по теме:

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

Передача массива в функцию. - C++
Подскажите пожалуйста! Нужно считать текстовый файл в массив и найти в нем какой-нибудь символ; вернуть номер элемента в массиве. Поиск...

Передача массива в функцию - C++
Как записать данные в массив, который в функции и после вызова функции получить эти данные. По типу как с переменными void...

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

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


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

Или воспользуйтесь поиском по форуму:
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
19.11.2014, 18:19     Передача столбца массива в функцию #4
либо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    const int N = 3;
    const int M = 4;
    int mas[N][M] = {{1, 2, 3, 9},
                    {4, 5, 6, 8},
                    {7, 8, 9, 7}};
    int tmp[N];
 
    for(int j = 0; j < M; ++j)
    {
        for(int i = 0; i < N; ++i)
            tmp[i] = mas[i][j];
        std::cout << fmax(tmp[i], N);
    }
 
    std::cout << std::endl;
Добавлено через 42 секунды
TyLinka, ну да)
Yandex
Объявления
19.11.2014, 18:19     Передача столбца массива в функцию
Ответ Создать тему
Опции темы

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