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

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

Войти
Регистрация
Восстановить пароль
 
Карина7
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 10
#1

Шаблоны функций C++ - C++

02.07.2016, 20:58. Просмотров 296. Ответов 3
Метки c++ (Все метки)

Привет ребят. Мб кто подскажет, у меня последняя часть кода "максимальное из чисел, встречающихся в заданной матрице более одного раза" вроде как работает, но не всегда правильно срабатывает, мб сортировать все члены матрицы по возрастанию и там искать наибольшее которое повторяется более одного раза, тупик(((

И еще ктонибудь знает как сделать в виде шаблонов функций? Шаблоны должны быть для типов int, float, double.
Я никогда с шаблонами не имела дело.


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
#include <iostream>
#include <locale>
#include <iomanip>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int const n = 3;
    int m[n][n];
 
    cout << "Введите матрицу: \n";
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            cout << "Введите элемент[" << i+1 << "][" << j+1 << "]: ";
            cin >> m[i][j];
        }
    }
 
    cout << "\n";
 
    cout << "Исходная матрица: \n";
    for(int i = 0; i < n; i++)
    {
        cout << endl;
        cout << "\t";
        for(int j = 0; j < n; j++)
        {
            cout << setw(3) << setiosflags(ios::left) << m[i][j] << " " ;
        }
    }
 
    cout << "\n\n";
 
    /*1)    количество строк, не содержащих ни одного нулевого элемента;*/
    
    int s = 0;
    for(int i = 0; i < n; i++)
    {
        int c = 0;
        for(int j = 0; j < n; j++)
        {
            if(m[i][j] == 0)
            {
                c++;
            }
        }
 
        if(c == 0)
            s++;
    }
 
    cout << "Kоличество строк, не содержащих ни одного нулевого элемента: " << s;
    cout << "\n\n";
 
    /*2)максимальное из чисел, встречающихся в заданной матрице более одного раза.*/
 
    int t, t1, g, g1, l;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(m[i][j] == m[i][j+1])
            {
                t = m[i][j];
            }
 
            if(t1 > t)
                t = t1;
 
            if(m[i][j] == m[i+1][j])
            {
                g = m[i][j];
            }
 
            if(t1 > t)
                g = g1;
 
 
 
        }
 
        t1 = t;
        g1=g;
 
        if (g>t)
        {
            l=g;
        }
        else{
            l=t;
        }
 
    }
 
    cout << "Максимальное из встречающихся более 1 раза: " << l;
    cout << "\n\n";
 
 
 system ("pause");
    return 0;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2016, 20:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблоны функций C++ (C++):

Шаблоны функций в с++ - C++
Подскажите, почему появляется сообщение об ошибке? как исправить? #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; //#include &lt;ctime&gt; ...

Шаблоны функций - C++
Написала прогу на шаблоны функций. не могу понять где ошибка // функции.cpp: определяет точку входа для консольного приложения. // ...

Шаблоны функций - C++
Добрый вечер! У меня возникли трудности с шаблонами функций. Вот код с шаблоном template &lt;class type,class ttype&gt; ttype...

Шаблоны функций c++ - C++
Хэллоу фрэндс! Столкнулся с проблеммой в решении упражнения. Вот условие: Создайте шаблонную функцию maxn(), которая принимает в...

Шаблоны функций - C++
тема: Шаблони функції Помогите написпть код програми на Turbo C++ Теоретичні відомості: за допомогою шаблона функції можна...

Шаблоны функций - C++
Rififi, привет какой у тебя емеил Добавлено через 58 минут 9 секунд тема: Шаблони функції Помогите написпть код програми на...

3
Хрисипп
19 / 29 / 8
Регистрация: 09.02.2016
Сообщений: 217
02.07.2016, 21:17 #2
код я не стал смотреть, но подскажу про шаблоны
C++
1
2
template <class D,class E>
    D func(D x, E y) {}
на этапе компиляции вместо D и E автоматически ( можно самостоятельно ) подставляются нужные типы
например:
C++
1
2
3
double c=2.2; int i=5;
func(c,i);// теперь во всех операциях в функции, где стоит x(тип D), подставляется double,
             //  где y(тип E)- i
объявлять типов можешь сколько хочешь ( возможно есть ограничения, не в курсе).
0
1Вирт1
55 / 53 / 5
Регистрация: 25.08.2011
Сообщений: 462
02.07.2016, 22:12 #3
книга для вашего просвещения: Вандевурд, Джосаттис - Шаблоны C++
0
HenryDukart
124 / 124 / 35
Регистрация: 05.10.2013
Сообщений: 457
Завершенные тесты: 2
02.07.2016, 22:54 #4
Карина7,
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
#include <iostream>
#include <limits>
 
using namespace std;
 
template <typename T, size_t N>
T find_max(const T (&matrix)[N][N])
{
    T max_element = numeric_limits<T>::min();
    int element_count;
 
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < N; ++j)
        {
            element_count = 0;
            if (matrix[i][j] > max_element)
            {
                for (int u = 0; (u < N) && (element_count <= 1); ++u)
                    for (int v = 0; v < N; ++v)
                        if (matrix[i][j] == matrix[u][v])
                        {
                            ++element_count;
                            if (element_count > 1)
                            {
                                max_element = matrix[i][j];
                                break;
                            }
                        }
            }
        }
    return max_element;
}
 
int main()
{
    const int N = 3;
    int mas[][3] = 
    {
        {1, 2, 4},
        {4, 1, 1},
        {5, 2, 3}
    };
 
    int max = mas[0][0];
    cout << find_max(mas) << endl;
    return 0;
}
0
02.07.2016, 22:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2016, 22:54
Привет! Вот еще темы с ответами:

Шаблоны функций - C++
Пытаюсь разобраться в шаблонах функций. Написал такой код, не работает: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace...

Шаблоны функций - C++
Путем перестановки элементов квадратной натуральной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу,...

шаблоны функций - C++
Помогите пожалуйста с задачей: Разработайте программу, в которой реализовано нахождение количества пар одинаковых по значению соседних...

Шаблоны функций - C++
Используя шаблоны функций, определите есть ли в данном двумерном массиве число A среди элементов массива. Код программы есть, но он без...


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

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

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