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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ С++ Программа на Одномерный массив (вывести кол-во нулевых элементов) http://www.cyberforum.ru/cpp-beginners/thread783428.html
Написать Программу , которая вводит с клавиатуры одномерный массив из N целых чисел,после чего выводит кол-во нулевых элементов.Перед вводом каждого элемента вводится подсказка о номере элемента. помогите сделать плиз!
C++ константный метод и указатель this class CBox { double Length; double Height; double Width; public: CBox(double a, double b, double c=1): Length(a), Height(a), Width(c) { http://www.cyberforum.ru/cpp-beginners/thread783421.html
C++ Найти сумму и произведение матриц
всем привет! помогите если сможете,,,как найти сумму матриц и произведение матриц,,заранее спасибо,,
Аналог функции getch() C++
Подскажите пожалуйста, аналог функции getch() (из файла "conio.h"), но чтобы она соответствовала стандарту C++. getchar() и объект "cin" не предлагать, ввиду нескольких причин: 1.Они позволяют пользователю вводить более 1 символа (что мне совсем не нужно) и как следствие пункт 2 2.После ввода необходимо нажимать Enter 3.Они печатают на экране вводимые символы. 4.Они не ловят скан-коды...
C++ Элементарно. Но ошибку найти не могу. Вывод имени "Jim" на экран http://www.cyberforum.ru/cpp-beginners/thread783392.html
Напишите операторы, выводящие на экран имя Jim. #include <iostream> using namespace std; int main() { char charvar = 'Jim'; cout << charvar; return 0; }
C++ Визуализация графов В общем есть такой пакет http://ru.wikipedia.org/wiki/Graphviz С помощью него можно вводить граф ввиде dot файла и получать её визуализацию ( вершины графа располагаются оптимальным образом ) Описание утилит на русском тут http://rus-linux.net/nlib.php?name=/MyLDP/BOOKS/BLFS-ru/10/blfs-ru-10-16.html Оф. сайт http://www.graphviz.org/ Тут же можно скачать и установить, причем как пакет с... подробнее

Показать сообщение отдельно
nutius
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 60
10.02.2013, 20:54     Передача двумерного массива в функцию
Здравствуйте!

Написала код для передачи двумерного массива в функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <iostream> 
#include <locale.h>
#include <conio.h>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define row 10
#define col 10
 
 
using namespace std;
void input_mas(int mat[][col],int m);
 
int func_Abs(int mat[][col],int m);
void cross_mas(int mat[][col],int m,int strokaMaxEl);
void output_mas(int mat[][col],int m);
 
int main()
{
    setlocale (0,"rus");
    
int mat[row][col];
input_mas(mat,row);
int a=func_Abs (mat,row);
cross_mas (mat,row,a);
output_mas (mat,row);
getch ();
return 0;
}
 
void input_mas(int mat[][col],int m)
{
    int a,b;
    srand(time(NULL));
 
//запрашиваем верхнюю и нижнюю границы рандомизации
cout << "Enter a: ";
cin >> a;
cout << "Enter b: ";
cin >> b;
 
 
    cout << "Матрица ДО имеет вид:" << '\n';
    for (int i = 0; i<row; i++)
    {
        for (int j=0;j<col;j++)
        {
             mat[i][j] = a + rand() % (b - a + 1);
             cout << setw(4) << mat[i][j];
        }
        cout << '\n';
    }
}
 
int func_Abs (int mat[][col],int m)
{
int AbsMax=0;
    int strokaMaxEl=0;
 
        AbsMax = abs (mat [0][0]);
        for (int i=0; i<row; i++)
        {
            for (int j=0; j<col; j++)
            {
                if (abs (mat[i][j])>AbsMax)
                {
                    AbsMax = abs (mat [i][j]);
                    strokaMaxEl=i;
                }
 
            }
        }
        return  strokaMaxEl;
}
 
void cross_mas(int mat[][col],int m,int strokaMaxEl)
{
    for (int i=0;i<col;i++)
    {
        
        int temp=mat[strokaMaxEl][i];
        mat[strokaMaxEl][i]=mat[0][i];
        mat[0][i]=temp;
 
    }
}
void output_mas(int mat[][col],int m)
{
    cout << "Матрица после:" << '\n';
    for (int i=0; i<row;i++)
    {
        for (int j=0;j<col;j++)
        {
            cout << setw(4) << mat [i][j];
        }
        cout << '\n';
    }
}
В качестве параметров функции передавала адрес начала массива и количество элементов в строке массива, , а также фактическое количество строк.
Скажите, обязательно ли при таком методе передачи двумерного массива в функцию использовать директиву препроцессора #define...просто, когда хотела объявить размер массива как в функции main (), как:
const int row = 10;
const int col= 10;

программа не работала, типа не видела переменные col в функциях и прототипах?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru