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

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

Войти
Регистрация
Восстановить пароль
 
Vladislavv
1 / 1 / 0
Регистрация: 30.07.2014
Сообщений: 98
#1

Найти максимум и минимум в двумерном массиве - C++

19.08.2014, 19:34. Просмотров 1126. Ответов 6
Метки нет (Все метки)

где ошибка

Спрашивает, как заполнить двум массив, ищет max и min



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 <ctime>
using namespace std;
 
template <typename T>
void afill(T ar[][10], int n);
template <typename T>
void fill (T ar[][10], int n);
template <typename T>
T mx (T ar[][10]);
template <typename T>
T mn (T ar[][10]);
template <typename T>
void printar (T ar[][10], int n);
template <typename T>
T ft (T a);
void choise (int n);
 
 
void main(){
const int n=10;
int e=n;
srand (time(NULL));
int ar[n][n];
cout <<"Would you put figures by yourself?\n1-yes\n0-no\n";
choise(e);
mn(ar);
mx (ar);
}
 
template <typename T>
void choise(int n){
bool a=0;
cin >>a;
if (a==0)
void afill (ar[][n], n);
else
void fill (ar[][n], n);
 
}
 
 
template <typename T>
void afill (T ar[][10], int n){
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++)
ar [i][j]=rand ()%100;  
    }
}
 
    template <typename T>
    void  fill (T ar[][10], int n){
        for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            cout<<"input figure\n";
            cin >>ar[i][j];
        }
        }
    }
 
template <typename T>
    void mx (T ar[][10], int n){
    T max=0;
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            if (i==0&&j==0)
                max=ar[i][j];
            else{
                if (max>ar[i][j])
                    max=ar[i][j];}
    } 
    }
cout <<"max is "<<max<<endl;
    }
 
 
    template <typename T>
    void mn (T ar[][10], int n){
    T min=0;
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            if (i==0&&j==0)
                min=ar[i][j];
            else{
                if (min>ar[i][j])
                    min=ar[i][j];}
    } 
    }
cout <<"min is "<<min<<endl;
    }
 
    template <typename T>
    void printar (T ar[][10], int n){
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++)
            cout<<ar[i][j]<<"\t";
        cout <<endl;
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2014, 19:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти максимум и минимум в двумерном массиве (C++):

Минимум и максимум в двумерном массиве - C++
Написать программу, которая находит минимум и максимум в двумерном массиве. Помогите пожалуйста!

В двумерном массиве определить среднее арифметическое каждого столбца и максимум и минимум каждой строки - C++
Дан двухмерный массив 5x6 . Определить среднее арифметическое каждого столбца, определить максимум и минимум каждой строки.

Нужно написать программу, которая находит минимум и максимум в двумерном массиве и меняет их местами - C++
Написать программу, которая находит минимум и максимум в двумерном массиве и меняет их местами. Нужно заметить, что несколько элементов...

Найти минимум и максимум в массиве - C++
Доброго времени суток) Совсем не давно начали изучать С++ поэтому простите мои глупые ошибки Возникла проблема с функцией После...

Как найти минимум и максимум в массиве? - C++
Найти минимум и максимум в двух массивах мой код #pragma hdrstop #pragma argsused #ifdef _WIN32 #include &lt;tchar.h&gt; #else ...

Найти максимум и минимум в массиве и поменять их местами - C++
Привет всем, помогите разобраться в программе #include&lt;iostream&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; using namespace std; ...

6
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
19.08.2014, 22:13 #2
лог ошибки пердоставьте.
0
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
19.08.2014, 23:04 #3
Vladislavv, обратите внимание на функции mx и mn. В прототипах и в main они получают один аргумент - массив. А в описаниях функций - уже два аргумента - массив и размер.
1
Vladislavv
1 / 1 / 0
Регистрация: 30.07.2014
Сообщений: 98
20.08.2014, 00:06  [ТС] #4
большинство ошибок убрал, остались только:
Ошибка 3 error LNK1120: 1 неразрешенных внешних элементов1
Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl choise(int)" (?choise@@YAXH@Z) в функции _main

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
100
#include <iostream>
#include <ctime>
using namespace std;
 
template <typename T>
void afill(T ar[][10], int n);
template <typename T>
void fill (T ar[][10], int n);
template <typename T>
void mx (T ar[][10], int n);
template <typename T>
void mn (T ar[][10], int n);
template <typename T>
void printar (T ar[][10], int n);
template <typename T>
T ft (T a);
void choise (int n);
 
 
void main(){
const int n=10;
int e=n;
srand (time(NULL));
int ar[n][n];
cout <<"Would you put figures by yourself?\n1-yes\n0-no\n";
choise(e);
mn(ar, n);
mx (ar, n);
}
 
template <typename T>
void choise(int n){
bool a=0;
int c=n;
cin >>a;
if (a==0)
void afill (ar, n);
else
void fill (ar, n);
 
}
 
 
template <typename T>
void afill (T ar[][10], int n){
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++)
ar [i][j]=rand ()%100;  
    }
}
 
    template <typename T>
    void  fill (T ar[][10], int n){
        for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            cout<<"input figure\n";
            cin >>ar[i][j];
        }
        }
    }
 
template <typename T>
    void mx (T ar[][10], int n){
    T max=0;
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            if (i==0&&j==0)
                max=ar[i][j];
            else{
                if (max>ar[i][j])
                    max=ar[i][j];}
    } 
    }
cout <<"max is "<<max<<endl;
    }
 
 
    template <typename T>
    void mn (T ar[][10], int n){
    T min=0;
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            if (i==0&&j==0)
                min=ar[i][j];
            else{
                if (min>ar[i][j])
                    min=ar[i][j];}
    } 
    }
cout <<"min is "<<min<<endl;
    }
 
    template <typename T>
    void printar (T ar[][10], int n){
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++)
            cout<<ar[i][j]<<"\t";
        cout <<endl;
        }
    }
0
John Prick
804 / 737 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
20.08.2014, 00:13 #5
У тебя нет определения (реализации) функции void choise(int). Есть только какая-то шаблонная функция, перед заголовком которой надо просто убрать template <typename T>, чтобы ошибка исправилась.
1
Vladislavv
1 / 1 / 0
Регистрация: 30.07.2014
Сообщений: 98
20.08.2014, 19:44  [ТС] #6
после некоторого редактирования дает такие ошибки: 6 IntelliSense: incomplete type is not allowed c:\users\влад\documents\visual studio 2010\projects\dz 18.08.14\dz 18.08.14\1.cpp 30
8 IntelliSense: incomplete type is not allowed c:\users\влад\documents\visual studio 2010\projects\dz 18.08.14\dz 18.08.14\1.cpp 32
7 IntelliSense: expected a ')' c:\users\влад\documents\visual studio 2010\projects\dz 18.08.14\dz 18.08.14\1.cpp 30
9 IntelliSense: expected a ')' c:\users\влад\documents\visual studio 2010\projects\dz 18.08.14\dz 18.08.14\1.cpp 32
Ошибка 4 error C2182: fill: недопустимое использование типа "void" c:\users\влад\documents\visual studio 2010\projects\dz 18.08.14\dz 18.08.14\1.cpp 32
Ошибка 2 error C2182: afill: недопустимое использование типа "void" c:\users\влад\documents\visual studio 2010\projects\dz 18.08.14\dz 18.08.14\1.cpp 30
Ошибка 3 error C2078: слишком много инициализаторов c:\users\влад\documents\visual studio 2010\projects\dz 18.08.14\dz 18.08.14\1.cpp 30
Ошибка 5 error C2078: слишком много инициализаторов c:\users\влад\documents\visual studio 2010\projects\dz 18.08.14\dz 18.08.14\1.cpp 32

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
100
101
102
#include <iostream>
#include <ctime>
using namespace std;
 
template <typename T>
void afill(T ar[][10], int n);
template <typename T>
void fill (T ar[][10], int n);
template <typename T>
void mx (T ar[][10], int n);
template <typename T>
void mn (T ar[][10], int n);
template <typename T>
void printar (T ar[][10], int n);
template <typename T>
T ft (T a);
template <typename T>
T choise (T ar[][10], int n);
 
 
void main(){
const int n=10;
int e=n;
int ch=0;
srand (time(NULL));
int ar[n][n];
cout <<"Would you put figures by yourself?\n1-yes\n0-no\n";
ch=choise(ar, e);
if (ch==0)
void afill (ar, n);
else
void fill (ar, n);
mn(ar, n);
mx (ar, n);
}
 
template <typename T>
T choise(T ar[][10], int n){
bool a=0;
int c=n;
cin >>a;
return a;
}
 
 
template <typename T>
void afill (T ar[][10], int n){
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++)
ar [i][j]=rand ()%100;  
    }
}
 
    template <typename T>
    void  fill (T ar[][10], int n){
        for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            cout<<"input figure\n";
            cin >>ar[i][j];
        }
        }
    }
 
template <typename T>
    void mx (T ar[][10], int n){
    T max=0;
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            if (i==0&&j==0)
                max=ar[i][j];
            else{
                if (max>ar[i][j])
                    max=ar[i][j];}
    } 
    }
cout <<"max is "<<max<<endl;
    }
 
 
    template <typename T>
    void mn (T ar[][10], int n){
    T min=0;
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++ ){
            if (i==0&&j==0)
                min=ar[i][j];
            else{
                if (min>ar[i][j])
                    min=ar[i][j];}
    } 
    }
cout <<"min is "<<min<<endl;
    }
 
    template <typename T>
    void printar (T ar[][10], int n){
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++)
            cout<<ar[i][j]<<"\t";
        cout <<endl;
        }
    }
0
John Prick
804 / 737 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
20.08.2014, 21:39 #7
Без тэгов и с таким форматированием разбираться с кодом невозможно.
0
20.08.2014, 21:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2014, 21:39
Привет! Вот еще темы с ответами:

Как найти глобальные минимум и максимум в массиве? - C++
Привет, напишите, пожалуйста, код, отвечающий за поиск глобального минимума и максимума (экстремумов) в одномерном массиве.

Найти максимум и минимум в массиве, отсортировать массив - C++
Ввести массив А. В массив В перенести все элементы массива А, имеющие значение меньше чем (min+max)/3, где min -...

В одномерном массиве найти максимум/минимум, среднее арифметическое - C++
Вообще ничего не понимаю, помогите пожалуйста:( Числовой массив B целочисленный, содержит k элементов. Элементы массива вводится с...

Найти в двухмерном массиве максимум и минимум, и поменять их местами - C++
Нужно найти в двухмерном массиве максимум и минимум, и поменять их местами. Как осуществить?


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

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

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