Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 08.01.2015
Сообщений: 67
1

Поиск минимального и максимального элемента в матрице

29.10.2015, 22:50. Показов 864. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите в моем коде реализовать поиск минимального и максимального элемента
функция minmax



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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#ifndef _LIBRARYMATRIX_H_
#define _LIBRARYMATRIX_H_
#include <iostream>
using namespace std;
 
template <typename T>
class matrix
{
    int *p_m;
    T n;
public:
    matrix(T count_n);
    matrix(const matrix & m);
    matrix operator+(const matrix my);
    matrix operator-(const matrix my);
    matrix operator*(const matrix my);
    matrix operator/(const matrix my);
    void operator=(const matrix my);
    void In_put();
    void Out_put();
    int get_n() const { return n; }
    void set(T *p_n1 = 0) { *p_n = *p_n1; }
    void MinMax(const matrix & s);
    ~matrix();
};
template <typename T>
matrix <T> matrix<T>::operator+(const matrix my)
{
    int my_n = (n*n - n) / 2 + n;
    matrix m_ret(n);
    for (int i = 0;i<my_n;i++)
        m_ret.p_m[i] = p_m[i] + my.p_m[i];
    return m_ret;
};
 
template <typename T>
matrix<T> matrix<T>::operator-(const matrix my)
{
    int my_n = (n*n - n) / 2 + n;
    matrix m_ret(n);
    for (int i = 0;i<my_n;i++)
        m_ret.p_m[i] = p_m[i] - my.p_m[i];
    return m_ret;
};
 
template <typename T>
matrix<T> matrix<T>::operator/(const matrix my)
{
    T my_n = (n*n - n) / 2 + n;
    matrix m_ret(n);
    for (int i = 0;i<my_n;i++)
        m_ret.p_m[i] = p_m[i] / my.p_m[i];
    return m_ret;
};
 
 
template <typename T>
void matrix<T>::operator=(const matrix my)
{
    int my_n = (n*n - n) / 2 + n;
    for (int i = 0;i<my_n;i++)
        p_m[i] = my.p_m[i];
};
 
template <typename T>
matrix<T> matrix<T>::operator*(const matrix my)
{
    int my_n = (n*n - n) / 2 + n;
    matrix m_ret(n);
    for (int i = 0;i<my_n;i++)
        m_ret.p_m[i] = p_m[i] * my.p_m[i];
    return m_ret;
}
 
 
template <typename T>
matrix<T>::matrix(T count_n)
{
    n = count_n;
    int my_n = (n*n - n) / 2 + n;
    p_m = new int[my_n];
    for (int i = 0;i < my_n;i++)
        p_m[i] = rand() % 10;
};
 
 
template <typename T>
matrix<T>::matrix(const matrix & m)
{
    n = m.n;
    T my_n = (n*n - n) / 2 + n;
    p_m = new int[my_n];
    for (int i = 0;i<my_n;i++)
        p_m[i] = m.p_m[i];
};
 
template <typename T>
matrix<T>::~matrix()
{
};
template <typename T>
void matrix<T>::MinMax(const matrix & m)
{
    int min = m.p_m[0];
    for (int  i = 1; i < 20; i++)
        if (min > m.p_m[i])
        {
            int temp = m.p_m[i];
            m.p_m[i] = min;
            min = temp;
        }
    cout << min;
}
 
template <typename T>
void matrix<T>::Out_put()
{
    int y = 0, out_ch = 0;
    for (int i = 0;i<n;i++)
    {
        for (int k = 0;k<y;k++)
        {
            cout.width(4);
            cout << "0";
        }
        for (int j = 0;j<n - y;j++)
        {
            cout.width(4);
            cout << p_m[out_ch];
            out_ch++;
        }
        cout << "\n";
        y++;
    }
};
 
 
template <typename T>
void matrix<T>::In_put()
{
    T y = 0;
    int in_ch = 0;
    for (int i = 0;i<n;i++)
    {
        for (int j = 0;j < n - y;j++)
        {
            cout << "[" << i << "," << j << "]: ";
            cin >> p_m[in_ch];
            in_ch++;
        }
        y++;
    }
};
 
#endif
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2015, 22:50
Ответы с готовыми решениями:

Поиск максимального и минимального элементов в матрице
В квадратной матрице определить максимальный и минимальный элементы. Если таких элементов...

Поиск максимального и минимального значения в матрице
Подскажите как найти минимальное и максимальное значение в матрице 20 на 20 (я так понял рендомных...

Поиск минимального элемента в матрице
Помогите решить задачку,Вводим в ручную матрицу и в нем нужно найти минимальные элемент спасибо

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

1
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
30.10.2015, 00:52 2
Цитата Сообщение от NEW_ID Посмотреть сообщение
C++
1
void MinMax(const matrix & s);
Либо у класса должны быть данные-члены min и max, либо функция-член MinMax() должна что-то возвращать.

Добавлено через 13 минут
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
struct Minmax
{
    int m_min = 0;
    int m_max = 0;
};
 
T matrix<T>::find_min_value()
{
    T min_value = p_m[0][0];
    for (int i = 0; i < m_row; ++i)
        for (int j = 0; j < m_col; ++j)
            if (min_value > p_m[i][j])
                min_value = p_m[i][j];
    return min_value;
}
 
T matrix<T>::find_max_value()
{
    T max_value = p_m[0][0];
    for (int i = 0; i < m_row; ++i)
        for (int j = 0; j < m_col; ++j)
            if (max_value < p_m[i][j])
                max_value = p_m[i][j];
    return max_value;
}
 
 
Minmax matrix<T>::min_max(const matrix &  matr)
{
    Minmax result;
    result.m_min = matr.find_min_value();
    result.m_max = matr.find_max_value();
    
    return result;
}
Добавлено через 3 минуты
У меня там размер матрицы хранится в данных-членах m_row и m_col (я из своего класса код взял) и проход по всем элементам матрицы, соответственно организован стандартно - через два цикла for. В общем, если у тебя там это как-то иначе, то тебе надо только по-своему организовать проход по всем элементам твоей матрицы.
1
30.10.2015, 00:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2015, 00:52
Помогаю со студенческими работами здесь

Поиск минимального и максимального элемента в каждой строке (C++ Bulder, консоль)
randomize(); int main(int argc, char* argv) { int n,m,i,j,max,min,a; cout&lt;&lt;&quot;n=&quot;; cin&gt;&gt;n;...

Поиск максимального и второго по величине элемента в матрице
помогите пожалуйста решить: В каждой строке матрицы поменять местами максимальный и второй по...

Поиск максимального и минимального элемента в матрице
program dz; uses crt; var a:array of integer; max,min,m,n,i,j:integer; begin writeln('введите...

Нахождение максимального отрицательного элемента, и минимального положительного в матрице
Скажите пожалуйста, каким образом найти минимальный из положительных элементов, и максимальный из...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru