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

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

Войти
Регистрация
Восстановить пароль
 
Imba-Crafter
1 / 1 / 0
Регистрация: 13.10.2010
Сообщений: 38
#1

Шаблон для работы с матрицей - C++

02.03.2011, 09:44. Просмотров 487. Ответов 1
Метки нет (Все метки)

Доброе время суток! надеюсь вы мне поможете. вот такое задание:

Определите шаблон функции Negative() для определения количества отрицательных значений в матрице. Напишите вызывающую программу. Последовательно сгенерируйте конкретную функцию для матрицы значений типа double, int.

Все бы нормально, но вот с шаблонами я вообще не работал. Да и что значит "Последовательно сгенерируйте конкретную функцию для матрицы значений типа double, int." не совсем понятно. Если не сложно помогите. Ну или посоветуйте где можно найти информацию по шаблонам или что почитать.
зы: я бы погуглил, да инет не мой, не могу сидеть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2011, 09:44     Шаблон для работы с матрицей
Посмотрите здесь:

Алгоритм для работы с матрицей - C++
Помогите, пожалуйста, написать на языке С++ "алгоритм перестановки левой и правой половин квадратной матрицы(размер матрицы n является...

Использование вектора для работы с матрицей - C++
Здравствуйте! Предположим, что задание состоит в том, чтобы определить в матрице столбцы, содержащие только положительные элементы, и...

Создать класс для работы с матрицей по условию - C++
Ребят привет... Есть задание... Создайте класс matrix, который осуществляет проверку индексов массива на вхождение их в границы...

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

Описать класс для работы с матрицей вещественных чисел. - C++
Здравствуйте. Помогите пожалуйста разработать программу с классами. Задание: Описать класс CFMATRIX2 для работы с матрицей ...

Реализовать класс для работы с квадратной целочисленной матрицей - C++
1) Составить описание класса для работы с квадратной целочисленной матрицей. Обязательные функции-члены класса для ввода/вывода ...

Составить класс для работы с целочисленной матрицей размера 3х3. - C++
Составить класс для работы с целочисленной матрицей размера 3х3. Включить саму матрицу во внутреннюю часть класса. Во внешней части задать...

Создать класс для работы с прямоугольной матрицей размером 3х3 - C++
ввести класс для работы с прямоугольной матрицей(3х3) Реализовать оперцию : ввод матрицы с консоли (оператор >>)продемонстрируйте...

Описать класс для работы с целочисленной матрицей произвольного размера - C++
Составить класс для работы с целочисленной матрицей произвольного размера, который задается в конструкторе,где данная матрица создается...

Описать класс CFMATRIX1 для работы с матрицей вещественных чисел - C++
Описать класс CFMATRIX1 для работы с матрицей вещественных чисел. Класс должен реализовывать следующие операции над матрицами: сложение,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
02.03.2011, 13:06     Шаблон для работы с матрицей #2
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
 
template<class T>
int Negative(const std::vector<std::vector<T> >& vc)
{
    int count=0;
    for(std::vector<std::vector<T> >::const_iterator iter=vc.begin();
    iter != vc.end(); ++iter)
        count+=std::count_if(iter->begin(), iter->end(), std::bind2nd(std::less<T>(), 0));
    return count;
}
 
template<class T>
void printMatrix(const std::vector<std::vector<T> >& vc)
{
    for(std::vector<std::vector<T> >::const_iterator iter=vc.begin(); iter != vc.end(); ++iter)
    {
        std::copy(iter->begin(), iter->end(), std::ostream_iterator<T>(std::cout, " "));
        std::cout<<'\n';
    }    
}
int main()
{
    std::vector<std::vector<int > > intMatr;
    int n=0, m=0;
    std::cout<<"Enter n, m: ";
    std::cin>>n>>m;
    intMatr.resize(n);
    for(int i=0; i<m; ++i)
       intMatr[i].resize(m);
    for(int i=0; i<n; ++i)
    {
        std::cout<<"Enter "<< i <<" row with "<< m <<" elements\n";
        for(int j=0; j<m; ++j)
            std::cin>>intMatr[i][j];
    }
    std::cout<<"Int matrix\n";
    printMatrix(intMatr);
    std::cout<<Negative(intMatr)<<'\n';
    std::vector<std::vector<double > > doubleMatr;
    n=0, m=0;
    std::cout<<"Enter n, m: ";
    std::cin>>n>>m;
    doubleMatr.resize(n);
    for(int i=0; i<m; ++i)
       doubleMatr[i].resize(m);
    for(int i=0; i<n; ++i)
    {
        std::cout<<"Enter "<< i <<" row with "<< m <<" elements\n";
        for(int j=0; j<m; ++j)
            std::cin>>doubleMatr[i][j];
    }
    std::cout<<"Double matrix\n";
    printMatrix(doubleMatr);
    std::cout<<Negative(doubleMatr)<<'\n';
    return 0;
}
Yandex
Объявления
02.03.2011, 13:06     Шаблон для работы с матрицей
Ответ Создать тему
Опции темы

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