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

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

Восстановить пароль Регистрация
 
Яночка_лисичка
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
16.01.2013, 22:19     Шаблоны функций #1
Написала прогу на шаблоны функций. не могу понять где ошибка
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
// функции.cpp: определяет точку входа для консольного приложения.
//
 
 
 
#include "stdafx.h"
#include "stdafx.h"
#include <conio.h>
#include <iostream>
 
using namespace std;
template <typename T> int function(big <T> &mat)
{ char ind = 0;
    int  m[100][100];
    bool first = false;
    for (i = 0; i < n; i++)
    {
        first=1;
        j=0;
        while(j<k)
        {
            if(m[j][i]<0)
            {
                first=0;
                break;
            }
            j++;
        }
        if(first==1)
        {
            ind=i+1;
            break;
        
 
 
 
 
int  main()
{
int n, k;
int  ind = 0;
 
int _getch();
    setlocale (LC_ALL,"russian");
    int i, j;
    int m[100][100];
    cout << "Введите кол-во строк матрицы M (<100): ";
    cin >> n;
    cout << "Введите кол-во столбцов матрицы M (<100): ";
    cin >> k;
    cout << "Введите матрицу: " << "\n";
    for (i = 0; i < n; i++)
        for (j = 0; j < k; j++)
            cin >> m[i][j];  _getch(); 
    int ans=function(big);
 
    if (first)
    {
        cout << "Столбец без отриц. элементов (индекс столбца): " << ind;
        first = false;
    
 
    _getch();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 22:19     Шаблоны функций
Посмотрите здесь:

C++ Шаблоны функций
C++ Шаблоны функций
C++ Шаблоны функций
C++ Шаблоны функций
C++ Шаблоны функций c++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5947 / 5552 / 1784
Регистрация: 18.12.2011
Сообщений: 14,184
Завершенные тесты: 1
16.01.2013, 22:31     Шаблоны функций #2
Оъявление шаблонной функии:
C++
1
template <typename T> int function(T &mat);
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
16.01.2013, 22:46     Шаблоны функций #3
Яночка_лисичка, выложите само задание...
Яночка_лисичка
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
16.01.2013, 22:55  [ТС]     Шаблоны функций #4
Цитата Сообщение от rangerx Посмотреть сообщение
Яночка_лисичка, выложите само задание...
Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке.
Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента.Написать программу используя шаблоны функций
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
16.01.2013, 23:05     Шаблоны функций #5
i-необъявленная переменная

Добавлено через 25 секунд
В функции, вот и ошибка.
Яночка_лисичка
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
16.01.2013, 23:06  [ТС]     Шаблоны функций #6
Цитата Сообщение от Wolkodav Посмотреть сообщение
i-необъявленная переменная

Добавлено через 25 секунд
В функции, вот и ошибка.
Переделайте пожалуйста я замучилась уже с этой задачей
grindaah
20 / 20 / 0
Регистрация: 25.05.2011
Сообщений: 62
16.01.2013, 23:08     Шаблоны функций #7
1. ZSS правильно указал на ошибку в объявлении функции.
2. Вы "откусили" часть функции при копировании-вставке.
3. Ф-ция объявлена как шаблонная, но ничего шаблонного в ней не происходит - тип T должен где-то использоваться
4. for (int i = 0; i < n; i++)
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
16.01.2013, 23:10     Шаблоны функций #8
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
#include "stdafx.h"
#include "stdafx.h"
#include <conio.h>
#include <iostream>
 
using namespace std;
template <typename T> int function(big <T> &mat)
{ char ind = 0;
    int  m[100][100];
    bool first = false;
    for (int i = 0; i < n; i++)
    {
        first=1;
        j=0;
        while(j<k)
        {
            if(m[j][i]<0)
            {
                first=0;
                break;
            }
            j++;
        }
        if(first==1)
        {
            ind=i+1;
            break;
        }
    }
}
 
 
 
int  main()
{
int n, k;
int  ind = 0;
 
int _getch();//
    setlocale (LC_ALL,"russian");
    int m[100][100];
    cout << "Введите кол-во строк матрицы M (<100): ";
    cin >> n;
    cout << "Введите кол-во столбцов матрицы M (<100): ";
    cin >> k;
    cout << "Введите матрицу: " << "\n";
    for (int i = 0; i < n; i++)
        for (int j = 0; j < k; j++)
            cin >> m[i][j];  _getch(); 
    int ans=function(big);
 
    if (first)
    {
        cout << "Столбец без отриц. элементов (индекс столбца): " << ind;
        first = false;
    
    }
    _getch();
}
Добавлено через 23 секунды
40 строка, что это такое?
Яночка_лисичка
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
16.01.2013, 23:14  [ТС]     Шаблоны функций #9
Цитата Сообщение от Wolkodav Посмотреть сообщение
[CPP]

40 строка, что это такое?
объявление функции _getch() . без объявления не работала. эта функция ожидает нажатия от пользователя какой-либо клавиши
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
16.01.2013, 23:17     Шаблоны функций #10
Ну ладно. Если честно может Ms VS меня развратила, но я такого не слышал.
Яночка_лисичка
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
16.01.2013, 23:24  [ТС]     Шаблоны функций #11
Цитата Сообщение от Wolkodav Посмотреть сообщение
Ну ладно. Если честно может Ms VS меня развратила, но я такого не слышал.
наподобие ретурна она

Добавлено через 4 минуты
[QUOTE=Wolkodav;4012999][CPP]

Спасибо за помощь, но ваша прога у меня почему-то не работает
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
16.01.2013, 23:53     Шаблоны функций #12
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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <locale>
 
using namespace std;
template <typename T>
int function(big <T> &mat)
{ char ind = 0;
    int  m[100][100];
    bool first = false;
    for (int i = 0; i < n; i++)
    {
        first=1;
        j=0;
        while(j<k)
        {
            if(m[j][i]<0)
            {
                first=0;
                break;
            }
            j++;
        }
        if(first==1)
        {
            ind=i+1;
            break;
        }
    }
}
 
 
 
int  main()
{
    int n, k;
    int  ind = 0;
    setlocale (LC_ALL,"Russian");
    int m[100][100];
    cout << "Введите кол-во строк матрицы M (<100): ";
    cin >> n;
    cout << "Введите кол-во столбцов матрицы M (<100): ";
    cin >> k;
    cout << "Введите матрицу: " << "\n";
    for (int i = 0; i < n; i++)
        for (int j = 0; j < k; j++)
            cin >> m[i][j];  _getch(); 
    int ans=function(big);
    if (first)
    {
        cout << "Столбец без отриц. элементов (индекс столбца): " << ind;
        first = false;
    
    }
    _getch();
}
Единственное он не знает у stdafx.h и тип big, а так всё хорошо.

Добавлено через 2 минуты
Хотя мне кажется если он найдёт big, и библиотеку, то всё-равно не заработает.

Добавлено через 42 секунды
Да тут точно не заработает.
Яночка_лисичка
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
16.01.2013, 23:57  [ТС]     Шаблоны функций #13
[QUOTE=Wolkodav;4013168][CPP]
биг это функция которая столбец ищет мы ее фаблоном в темплет описываем
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
16.01.2013, 23:58     Шаблоны функций #14
Короче вот функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template<typename T>
int function(T** a,int n,int m)
{
bool flag=true;
int index;
for (int i=0;j<m;i++)
{
if (!flag)
break;
for (int j=0;i<n;j++)
if (a[i][j]<0)
continue;
else
{
index=j;
break;
flag=false;
}
}
return index;
}
Яночка_лисичка
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
16.01.2013, 23:59  [ТС]     Шаблоны функций #15
Цитата Сообщение от Wolkodav Посмотреть сообщение
Короче вот функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template<typename T>
int function(T* a,int n,int m)
{
int index;
for (int i=0;j<m;i++)
for (int j=0;i<n;j++)
if (a[i][j]<0)
continue;
else
{
index=j;
break;
}
return index;
}
Оформите ее в проге пожалуйста
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
17.01.2013, 00:01     Шаблоны функций #16
Вот так вот. В данном случае у нас будет данная функция будет работать для любого объекта, для которого перегружен оператор "<"
Яночка_лисичка
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
17.01.2013, 00:05  [ТС]     Шаблоны функций #17
Цитата Сообщение от Wolkodav Посмотреть сообщение
Вот так вот. В данном случае у нас будет данная функция будет работать для любого объекта, для которого перегружен оператор "<"
А что делать с этой вещью
C++
1
2
3
4
5
6
7
8
9
int ans=function(function);
    if (first)
    {
        cout << "Столбец без отриц. элементов (индекс столбца): " << ind;
        first = false;
    
    }
    _getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 00:09     Шаблоны функций
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
17.01.2013, 00:09     Шаблоны функций #18
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
#include <iostream>
#include <locale>
using namespace std;
 
template<typename T>
int function(T* a,int n,int m)
{
int index;
bool flag=true;
for (int i=0;j<m;i++)
{
if (!flag)
break;
for (int j=0;i<n;j++)
if (a[i][j]<0)
continue;
else
{
index=j;
break;
}
}
return index;
}
 
void main()
{
setlocale(LC_ALL,"Russian");
int m,n;
cout<<"Введите размеры матрица:";
cin>>n>>m;
cout<<endl;
int** A=new int*[n];
for (int i=0;i<n;i++)
A[i]=new int [m];
cout<<"Ввод матрици:"<<endl;
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
cout<<"A"<i<<" "<<j<<":";
cin>>A[i][j];
cout<<endl;
}
int index=function(A,n,m);
cout<<"Искомый столбец:"<<index<<endl;
 
return;
}
Добавлено через 2 минуты
Вот так вот.
Yandex
Объявления
17.01.2013, 00:09     Шаблоны функций
Ответ Создать тему
Опции темы

Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru