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

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

Войти
Регистрация
Восстановить пароль
 
Максим3181293
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
#1

Разработка и отладка алгоритмов и программ - C++

10.03.2014, 11:47. Просмотров 293. Ответов 4
Метки нет (Все метки)

Есть задание лабы:
Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип эле-
мента задается как параметр шаблона. Написать тестовую программу.
Есть код задачи написаны тут:
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>//подключение библиотеки iostream
#include <string>//подключение библиотеки string
#include <time.h>//подключение библиотеки time.h
using namespace std;//все переменные относятся к пространству имен типа 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++) //цикл for
        {
            delete[] matr[i];//кдаление компонентов матрицы
        }
        delete[] matr;//удаление компонента матрицы
    }
    void FillRandom()//заполнение матрицы случайными числами
    {
        std::cout<<"FillRandom"<<std::endl;//вывод переменных на экран
                srand(time(NULL));
        for(int i = 0; i < _N; i++)//цикл for
        {
            for(int j = 0; j < _M; j++)//цикл for
            {
                matr[i][j] =(T) (100.*rand()/RAND_MAX/((T) 1));//заполнение матрицы случайными числами
            }
        }
    }
    void FillManualy()//объявление переменной типа void
    {
        std::cout<<"Enter elements"<<std::endl;//вывод текста на экран
        for(int i = 0; i < _N; i++)//цикл for
        {
            for(int j = 0; j < _M; j++)//цикл for
            {
                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
        {
            for(int j = 0; j < m._M; j++)//цикл for
            {
                os<<m.matr[i][j]<<" ";//Присвоение значения матрицы переменной os
            }
            os<<std::endl;//переход на новую строку
        }
        return os;//сброс значения функции os
    }
};
int main() //создание функции main типа int
{
    Matrix<int> m(10,10);//создание матрицы 10 на 10 с переменными типа int
    m.FillRandom();//заполнение случайными числами числами
    std::cout<<m<<std::endl;//вывод перемнной M на экран
    system("pause");//системная задержка
    return 0;//обнуление функции
}
Преподователь просмотрев код сказал удалить всю лажу. Какую, где и как не пойму.
Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2014, 11:47     Разработка и отладка алгоритмов и программ
Посмотрите здесь:

Разработка и отладка алгоритмов и программ с использованием указателей. C++
Разработка и отладка алгоритмов и программ с использованием указателей C++
C++ Разработка и отладка алгоритмов и программ с использованием структур данных.
C++ Разработка и отладка алгоритмов и программ с применением пользовательских функций
Разработка и отладка алгоритмов и программ по созданию и обработке файлов C++
C++ Лаба. Тема: Разработка и отладка алгоритмов и программ с использованием динамических структур.
Разработка и отладка алгоритмов и программ с использованием указателей C++
C++ Разработка и отладка разветвляющихся программ
Разработка и отладка циклических алгоритмов и программ C++
C++ Разработка и отладка алгоритмов и программ по обработке строк символов
C++ Разработка и отладка циклических алгоритмов и программ
C++ Разработка и отладка алгоритмов и программ с применением пользовательских функций

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aloir
 Аватар для Aloir
216 / 216 / 13
Регистрация: 17.12.2010
Сообщений: 689
10.03.2014, 12:00     Разработка и отладка алгоритмов и программ #2
на вскидку, я бы убрал с класса все выводы в консольку, класс не для этого используется. (тут на ваше усмотрение, не знаю как препод требует..)
нет проверок на отрицательную размерность матрицы!!!
не надо столько коментов, оставте основные, где код может быть не понятен
Максим3181293
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
10.03.2014, 12:03  [ТС]     Разработка и отладка алгоритмов и программ #3
Извините пожалуйста код наглядно. Я ничего не понял. Помогите пожалуйста.
Aloir
 Аватар для Aloir
216 / 216 / 13
Регистрация: 17.12.2010
Сообщений: 689
10.03.2014, 12:15     Разработка и отладка алгоритмов и программ #4
что именно не понятно?
1. зачем столько коментариев? убирайте
2. в окно консоли, лучше не писать инфу из класса (но может быть вам для контроля можно? я не знаю.)
3. Ошибка: если вызвать Matrix<int> m(-20,0); угадайте что будет
Максим3181293
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 27
10.03.2014, 12:30  [ТС]     Разработка и отладка алгоритмов и программ #5
Комментариий нужны для сдачи работ(((((
Сам код данной задачи не мой, и я в нем не разбираюсь. Помогите пожалуйста, отредактировать код.
Yandex
Объявления
10.03.2014, 12:30     Разработка и отладка алгоритмов и программ
Ответ Создать тему
Опции темы

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