Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
3 / 3 / 2
Регистрация: 18.05.2014
Сообщений: 203
1

Как передать массив (двумерный/одномерный вектор) в функцию?

15.01.2015, 19:44. Показов 5857. Ответов 4
Метки нет (Все метки)

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
#include <iostream>
#include <ctime>
 
using namespace std;
int n,m;//סענמך ט סעמכבצנג
 
void searchmin(int g[750][750],int mm[750],int i,int n,int m)
{
    int minn=g[i][0];
    for(int j=1;j<m;j++)
        if (g[i][j]<minn)
        minn=g[i][j];
 
mm[i]=minn;
}
 
void searchmax(int g[750][750],int hh[750],int j,int n,int m)
{
    int maxx=g[0][j];
    for (int i=0;i<n;i++)
        if (g[i][j]>maxx)
        maxx=g[i][j];
 
hh[j]=maxx;
}
 
int main()
{
    int k=0;
    cin >> n>>m;
 
    int g[750][750];
 
   int mm[750];
 
   int hh[750];
 
   for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
    cin >> g[i][j];
 
   for(int i=0;i<n;i++)
    searchmin(g,mm,i,n,m);
 
   for (int j=0;j<m;j++)
    searchmax(g,hh,j,n,m);
 
    for(int i=0;i<n;i++)
      for(int j=0;j<m;j++)
        if ((g[i][j]==mm[i]) && (g[i][j]==hh[j]))
            k++;
 
        cout <<k;
 
 
 
    return 0;
}
'segmentation fault. Что делать? объясните, как можно передать массив в функцию как параметр?????
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2015, 19:44
Ответы с готовыми решениями:

Как передать двумерный массив в функцию?
например у меня есть двумерный массив 5 на 5.мне нужна функция в которой будет запрашиваться...

Как передать одномерный массив в функцию?
как передать одномерный массив в функцию?

Как передать в функцию двумерный динамический массив?
#include &lt;iostream&gt; #include&lt;time.h&gt; #include&lt;cstdlib&gt; using namespace std; void zap(int...

Как передать динамический двумерный массив в функцию
Имеется массив int main() { setlocale(LC_ALL, &quot;rus&quot;); int n, m; cout &lt;&lt; &quot;Введите...

4
Модератор
Эксперт С++
11071 / 9128 / 5485
Регистрация: 18.12.2011
Сообщений: 24,399
15.01.2015, 20:07 2
Выделяйте память динамически 750*750 в стек не влезает
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
#include <iostream>
//#include <ctime>
using namespace std;
void searchmin(int** g,int* mm,int i,int n,int m)
{
    int minn=g[i][0];
    for(int j=1;j<m;j++)
        if (g[i][j]<minn)
            minn=g[i][j];
 
    mm[i]=minn;
}
 
void searchmax(int** g,int* hh,int j,int n,int m)
{
    int maxx=g[0][j];
    for (int i=0;i<n;i++)
        if (g[i][j]>maxx)
            maxx=g[i][j];
 
    hh[j]=maxx;
}
 
int main()
{
    int m,n;
    cin >> n>>m;
    int** g=new int*[n];
    for(int i=0;i<n;i++)
        g[i]=new int[m];
 
    int* mm=new int[n];
    int* hh=new int[m];
 
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin >> g[i][j];
 
    for(int i=0;i<n;i++)
        searchmin(g,mm,i,n,m);
 
    for (int j=0;j<m;j++)
        searchmax(g,hh,j,n,m);
    int k=0;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            if ((g[i][j]==mm[i]) && (g[i][j]==hh[j]))
                k++;
 
    cout <<k;
    for(int i=0;i<n;i++)
        delete[] g[i];
    delete[] g;
    delete[] mm;
    delete[] hh;
    system("pause");
    return 0;
}
0
3 / 3 / 2
Регистрация: 18.05.2014
Сообщений: 203
15.01.2015, 22:07  [ТС] 3
А с массивом двумерным типа vector <vector<int> > можете ,пожалуйста, написать, чтобы вектор передавался по ссылке и не переполнял стэк?
И поясните, пожалуйста, что есть int ** g и int * mm
0
lss
935 / 863 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
16.01.2015, 02:01 4
Цитата Сообщение от maksvolf96 Посмотреть сообщение
А с массивом двумерным типа vector <vector<int> > можете ,пожалуйста, написать, чтобы вектор передавался по ссылке и не переполнял стэк?
C++
1
void f(vector <vector<int> >& vvint);
Данные вектора хранятся не в стеке, а в динамической памяти.
0
1 / 1 / 0
Регистрация: 16.04.2017
Сообщений: 35
08.05.2017, 08:29 5
Он не указывает на отдельную строку.
0
Миниатюры
Как передать массив (двумерный/одномерный вектор) в функцию?  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2017, 08:29

Как передать в функцию указатель на двумерный массив?
Есть массив int arr, как передать в функцию указатель на него, чтобы при изменения массива в...

Как передать в функцию двумерный массив указателей на класс?
у меня есть std::vector&lt;Monster*&gt; monsters; Rect *pole; int...

Как правильно передать в функцию указатель на двумерный массив?
Сабж #include &lt;windows.h&gt; #include &lt;stdio.h&gt; using namespace std; //ОТ безысходности сделал...

Как передать двумерный массив в функцию, которая вызывается в main?
ребят прошу помогите, проблема в том, что у меня есть функция принимающая в параметрах двумерный...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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