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

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

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

Программа на C++ с использованием шаблона функции. - C++

23.03.2011, 17:57. Просмотров 716. Ответов 10
Метки нет (Все метки)

Нужно написать программу которая считает сумму элементов главной диагонали матрицы. Для подсчета использовать шаблон функции. помогите пожалуйста кому не сложно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2011, 17:57     Программа на C++ с использованием шаблона функции.
Посмотрите здесь:

Программа в виде шаблона функции C++
C++ Программа с использованием дружественной функции и классов
C++ Программа должна вычислять значение функции exp(x) действительного аргумента x с точностью ε с использованием рекурсии.
Программа с использованием функции и указателя C++
C++ Программа с использованием функции. По заданной квадратной матрицей розмиолм 10х10 построить вектор длиной 19
C++ Программа для вычисления суммы и произведения элементов массива с использованием функции
C++ Стек с использованием шаблона классов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.03.2011, 18:14     Программа на C++ с использованием шаблона функции. #2
sheill, Создание шаблона функции
sheill
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 54
23.03.2011, 18:39  [ТС]     Программа на C++ с использованием шаблона функции. #3
я с шаблоном вроде разобрался, сделал заполнение матрицы, но дальше ничего не могу сообразить соединить все воедино.(((
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.03.2011, 18:42     Программа на C++ с использованием шаблона функции. #4
sheill, Почитай про функции, многое проясниться.
sheill
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 54
23.03.2011, 18:52  [ТС]     Программа на C++ с использованием шаблона функции. #5
Спасибо!)
Alex1234
 Аватар для Alex1234
13 / 13 / 0
Регистрация: 11.02.2011
Сообщений: 55
23.03.2011, 18:54     Программа на C++ с использованием шаблона функции. #6
А что за учебное заведение такое? Почему так шаблонами дрючат?
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 <stdlib.h>
 
//-----------------------------------------------------------
template <class T, unsigned int n1, unsigned int n2>
T sumDiagonalMatrix(T (&m)[n1][n2])
{
    if(n1 != n2)
    {
        std::cout << "Матрица не квадратная!"; 
        return 0;
    }
    
    T sumDM = 0;
    for(unsigned int i = 0; i < n1; i++)
    {
        sumDM += m[i][i];
    }
    return sumDM;
}
 
//-----------------------------------------------------------
int main(int argc, char *argv[])
{
    const unsigned int N = 3;
    const unsigned int M = 3;
    if(N != M)
    {
        std::cout << "Матрица не квадратная!";
        return 0;
    }
    
    int x[N][M];
 
    //Инициализация случайными числами  и вывод на консоль
    for(unsigned int i = 0; i < N; i++)
    {
        for(unsigned int j = 0; j < M; j++)
        {
            x[i][j] = rand() % 10;
            std::cout <<"x["<<i<<"]"<<"["<<j<<"] = " << x[i][j] << "\n";
        }
    }
 
    std::cout << sumDiagonalMatrix(x);
 
    return 0;
}
sheill
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 54
23.03.2011, 19:17  [ТС]     Программа на C++ с использованием шаблона функции. #7
Большое спасибо!)))
Alex1234,

Добавлено через 18 минут
Alex1234, А посмотри вот эту задачу, я смысл не пойму может подскажешь? Создать класс "арифметическое выражение" с компонентными данными: 1-й аргумент, 2-й аргумент, знак арифметического выражения( перечислимого типа "+", "-", "*","/"). Определить компонентные функции: получение каждого элемента класса по отдельности, изменение значения операндов, вычисление значения выражения, вывод на экран в формате "арг1 операция арг2=результат".
Alex1234
 Аватар для Alex1234
13 / 13 / 0
Регистрация: 11.02.2011
Сообщений: 55
23.03.2011, 19:46     Программа на C++ с использованием шаблона функции. #8
К сожалению, ничего не пойму, щас времени нет потом попробую разобраться.
sheill
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 54
23.03.2011, 20:01  [ТС]     Программа на C++ с использованием шаблона функции. #9
Alex1234, Спасибо!)))
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
23.03.2011, 20:44     Программа на C++ с использованием шаблона функции. #10
sheill, Обычный калькулятор...
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
#include <iostream>
 
template<class T>
class Expr
{
public:
   enum opers {plus='+', sub='-', mul='*', div='/', none};
   Expr(const T& arg1_=T(), const T& arg2_=T(), const opers& op=none):
      arg1(arg1_), arg2(arg2_), oper(op)
   {
   }
   void setFirstArg(const T& val)
   {
       arg1=val;
   }
   void setSecondArg(const T& val)
   {
       arg2=val;
   }
   void setOper(const opers& op)
   {
       oper=op;
   }
   const T& getFirstArg() const {return arg1;}
   const T& getSecondArg() const {return arg2;}
   const opers& getOper() const {return oper;}
   T countExpr() const 
   {
        switch(oper)
        {
             case plus:
             {
                 return arg1+arg2;
             }
             break;
             case sub:
             {
                 return arg1-arg2;
             }
             break;
             case mul:
             {
                 return arg1*arg2;
             }
             break;
             case div:
             {
                 if(arg2 == 0)
                     throw std::exception("Can`t divide by 0");
                 return arg1/arg2;
             }
             break;
             default:
             {
                 throw std::exception("Can`t count expr with oper 'none'");
             }
       }
    }
private:
    T arg1;
    T arg2;
    opers oper;
};
 
template<class T>
std::ostream& operator <<(std::ostream& os, const Expr<T>& expr)
{
    os<<expr.getFirstArg()<<static_cast<unsigned char>(expr.getOper())<<expr.getSecondArg()<<"="<<expr.countExpr()<<'\n';
    return os;
}
 
int main()
{
    Expr<int> expr(5, 10, Expr<int>::plus);
    std::cout<<expr<<'\n';
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2011, 22:31     Программа на C++ с использованием шаблона функции.
Еще ссылки по теме:

Форматирование текста в классе с использованием шаблона C++
C++ Переделать программу с использованием шаблона класса
C++ Нахождение суммы главной диагонали матрицы с использованием шаблона (template)
C++ Программная реализация класса обработки одномерного массива с использованием шаблона
C++ Программная реализация класса обработки одномерного массива с использованием шаблона

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

Или воспользуйтесь поиском по форуму:
sheill
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 54
23.03.2011, 22:31  [ТС]     Программа на C++ с использованием шаблона функции. #11
ForEveR, Большое спасибо)))
Yandex
Объявления
23.03.2011, 22:31     Программа на C++ с использованием шаблона функции.
Ответ Создать тему
Опции темы

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