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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция не работает (максимальный элемент массива) http://www.cyberforum.ru/cpp-beginners/thread772581.html
Нужно написать функцию, которая находила бы максимальный элемент массива. Мой код: #include <iostream> #include <conio.h> using namespace std; const int size = 10; int max_find(int *arr,...
C++ Расчет сложного процента Ребят, подскажите почему не получается правильно подсчитать процент в конце каждого года? Суть задачи: вносим депозит в банк 1000$ под 5% годовых. Доход остается на депозите, нужно подсчитать... http://www.cyberforum.ru/cpp-beginners/thread772574.html
C++ Кодировки, языки
Здравствуйте. Не могу разобраться с тем как работать с файлами и строками на разных языках. Русский получилось писать с помощью локали вот так: wofstream out("test.html", ios::binary); wchar_t*...
Что за ошибка? C++
Доброго времени суток! Передо мной стоит ужасающая, но вместе с тем и потрясающая задача: за неделю освоить базы, основы плюсов. :umnik: Теорию прошла раз двадцать и, уверившись в том, что уж...
C++ Как вернуть массив обьектов для дальнейшей работы с ним? http://www.cyberforum.ru/cpp-beginners/thread772541.html
#include <iostream> class Ex { public: Ex(char *);//конструктор ~Ex();//деструктор (пока не используется) Ex *func(); void func2(); private: char * bufer;
C++ из RTF в TXT Как реализовать конвертацию текста из RTF в TXT с применением паттерна Builder? подробнее

Показать сообщение отдельно
0x10
2475 / 1648 / 247
Регистрация: 24.11.2012
Сообщений: 4,070
27.01.2013, 06:42
Чисто технически, как вариант можно использовать возможности 11-го стандарта и написать нечто такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
 
typedef std::vector<std::vector<int>> Matrix;
 
void f(const Matrix& matrix)
{
    for (const auto& row : matrix)
    {
        for (const auto& item : row)
        {
            std::cout << item << " ";
        }
        std::cout << std::endl;
    }
}
 
int main()
{
    f({{4, 2}, {1, 3}});
    return 0;
}
Но в посте был несколько другой вопрос:
Цитата Сообщение от SeaMonster Посмотреть сообщение
Как можно эту передачу сделать Красиво?
Мое субъективное мнение: самое простое, логичное и ожидаемое - это именно использование переменной. Потому что не должно быть в коде магических чисел. Хочется, чтобы значения по максимуму были связаны с именами, отражающими их смысл. Если же эта переменная мозолит глаза в конкретном месте, ее и вызов функции можно вынести в другую функцию. Т.е.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void process(int** in, /* ... */) {
    // обработка матрицы in
}
 
void prepare(/* ... */) {
    int matrix[2][2] = /* ... */;
    process(matrix);
}
 
int main() {
    prepare(/* ... */);
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru