0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
1

Разработать шаблон класса реализующего работу с матрицами переменной размерности.

10.02.2014, 11:29. Показов 2013. Ответов 10
Метки нет (Все метки)

Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип эле-
мента задается как параметр шаблона. Написать тестовую программу.
Помогите пожалуйста.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2014, 11:29
Ответы с готовыми решениями:

Разработать программное средство для действия с матрицами различной размерности
Разработать программное средство для действия с матрицами различной размерности(задаваемой...

Разработать программное средство для действия с матрицами различной размерности
нужно разработать программное средство для действия с матрицами различной размерности(задаваемой...

Создать объявление класса и разработать программу-драйвер, которая продемонстрирует работу класса.
Класс Triangle (треугольник). Класс хранит Декартовы координаты трех углов треугольника....

Разработать программу осуществляющую работу с матрицами, ввод осуществ-лять двумя способами: в режиме диалога
Разработать программу осуществляющую работу с матрицами, ввод осуществ-лять двумя способами: в...

10
Эксперт С++
2924 / 1273 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
10.02.2014, 11:43 2
Что у тебя конкретно не получается? Приведи свой код, поглядим....
0
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
10.02.2014, 11:44  [ТС] 3
Вообще не знаю как писать данную программу.
0
101 / 102 / 31
Регистрация: 15.01.2014
Сообщений: 283
10.02.2014, 11:46 4
Максим3181293, используйте шаблонные классы и никаких проблем собственно

Добавлено через 41 секунду
Максим3181293, для начала откройте MS Visual Studio
0
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
10.02.2014, 11:48  [ТС] 5
Открыта, а дальше темный лес
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
10.02.2014, 12:07 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <string>
using namespace std;
 
template<typename T>
class Matrix
{
    T **matr;
    int _N;
    int _M;
public:
    Matrix(int n, int m):_N(n), _M(m),matr(NULL)
    {
        matr = new T*[n];
        for(int i = 0; i < n; i++)  
        {
            matr[i] = new T[m];
        }
    }
    ~Matrix()
    {
        for(int i = 0; i < _N; i++) 
        {
            delete[] matr[i];
        }
        delete[] matr;
    }
    void FillRandom()
    {
        std::cout<<"FillRandom"<<std::endl;
                srand(time(NULL));
        for(int i = 0; i < _N; i++)
        {
            for(int j = 0; j < _M; j++)
            {
                matr[i][j] = 100.*rand()/RAND_MAX;
            }
        }
    }
    void FillManualy()
    {
        std::cout<<"Enter elements"<<std::endl;
        for(int i = 0; i < _N; i++)
        {
            for(int j = 0; j < _M; j++)
            {
                std::cout<<i+1<<" row, " << j+1 << " column: ";
                std::cin>>matr[i][j];
            }
        }
    }
    friend ostream & operator<<(ostream & os, Matrix<T> & m)
    {
        for(int i = 0; i < m._N; i++)
        {
            for(int j = 0; j < m._M; j++)
            {
                os<<m.matr[i][j]<<" ";
            }
            os<<std::endl;
        }
        return os;
    }
};
int main()
{
    Matrix<int> m(10,10);
    m.FillRandom();
    std::cout<<m<<std::endl;
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
10.02.2014, 12:14  [ТС] 7
1>d:\кпияп\лабы(готовые)\лабораторная №1\лабораторная №1\лабораторная №1.cpp(36): warning C4244: =: преобразование "double" в "int", возможна потеря данных
Что делать?
0
101 / 102 / 31
Регистрация: 15.01.2014
Сообщений: 283
10.02.2014, 12:18 8
Максим3181293,
не уверен но как то так
matr[i][j] =(T) (100.*rand()/RAND_MA/((T) 1));
0
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
10.02.2014, 12:30  [ТС] 9
d:\кпияп\лабы(готовые)\лабораторная №21\лабораторная №21\лабораторная №21.cpp(67): см. ссылку на создание экземпляров класса шаблон при компиляции "Matrix<T>"
1> with
1> [
1> T=int
1> ]
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.64
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Опять ошибка, и опять я ничего не понимаю(

Добавлено через 6 минут
Цитата Сообщение от Максим3181293 Посмотреть сообщение
d:\кпияп\лабы(готовые)\лабораторная №21\лабораторная №21\лабораторная №21.cpp(67): см. ссылку на создание экземпляров класса шаблон при компиляции "Matrix<T>"
1> with
1> [
1> T=int
1> ]
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.64
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Опять ошибка, и опять я ничего не понимаю(
1>------ Построение начато: проект: Лабораторная №1, Конфигурация: Debug Win32 ------
1>Построение начато 10.02.2014 11:26:27.
1>InitializeBuildStatus:
1> Обращение к "Debug\Лабораторная №1.unsuccessfulbuild".
1>ClCompile:
1> Лабораторная №1.cpp
1>d:\кпияп\лабы(готовые)\лабораторная №1\лабораторная №1\лабораторная №1.cpp(31): error C3861: time: идентификатор не найден
1> d:\кпияп\лабы(готовые)\лабораторная №1\лабораторная №1\лабораторная №1.cpp(29): при компиляции функции-члена "void Matrix<T>::FillRandom(void)" класса шаблон
1> with
1> [
1> T=int
1> ]
1> d:\кпияп\лабы(готовые)\лабораторная №1\лабораторная №1\лабораторная №1.cpp(67): см. ссылку на создание экземпляров класса шаблон при компиляции "Matrix<T>"
1> with
1> [
1> T=int
1> ]
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.67
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Опять ошибка, и опять я ничего не понимаю(
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
10.02.2014, 12:31 10
Цитата Сообщение от Максим3181293 Посмотреть сообщение
1>d:\кпияп\лабы(готовые)\лабораторная №1\лабораторная №1\лабораторная №1.cpp(31): error C3861: time: идентификатор не найден
сверху
C++
1
#include <time.h>
0
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
10.02.2014, 12:34  [ТС] 11
спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2014, 12:34
Помогаю со студенческими работами здесь

Разработать шаблон класса
Помогите написать программу!!!Пожалуйста!!!Очень нужна и вообще не получается!!! Задание:Для...

разработать шаблон класса
Помогите написать программу!!! Пожалуйста!!!!Очень надо, вообще не получается!!! Задание:...

Разработать шаблон класса “стек”
Помогите сделать вот такую программу, пожалуйста. Разработать шаблон класса “стек” (реализация...

Разработать шаблон класса структуры данных
Доброго времени суток! Помогите кто чем может, кто советом, кто кодом, вообщем вот что требуется: ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru