1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Отладка

Тема в разделе "Вопросы новичков и не только", создана пользователем nike64n, 7 июл 2012.

  1. nike64n

    nike64n Гость

    Репутация:
    0
    Прошу помощи в решении моей задачи.Заранее благодарен.

    "Модульное программирование"
    Примечание. Разместить определение данных в заголовочном файле, а определения функций и главную функцию программы в двух отдельных файлах.

    Вариант:
    Дана квадратная матрица А порядка п. Получить матрицу 1/2(А*А(в степени"Т")) . Определить функции сложения двух квадратных матриц и умножения матрицы на скаляр.

    Вот начало моей идеи,кода,алгоритма:

    main.cpp
    Код:
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include "matrix.h"
    #include <time.h>
    using namespace std;
    
    int main()
    {
    
    const int m = 2;
    const int n = 2;
    int values[m][n];
    srand(time(NULL));
    for(int i = 0; i < m; i++)
    for(int j = 0; j < n; j++)
    values[i][j] = rand() % 50 + 1;
    
    
    
    int * pointers[m];
    for (int i = 0; i < m; i++)
    {
    pointers[i] = values[i];
    }
    
    Matrix uno (pointers, m, n);
    cout <<"Matrix"<< endl;
    uno.print();
    cout << endl;
    
    Matrix dos = uno.sum(uno);
    cout <<"Summ matrix"<< endl;
    dos.print();
    cout <<endl;
    
    return 0;
    }

    matrix.cpp
    Код:
    #include <iostream>
    #include "matrix.h"
    
    using namespace std;
    
    Matrix::~Matrix()
    {
    for (int i = 0; i <m; i++)
    {
    delete [] values[i];
    }
    delete [] values;
    }
    
    Matrix Matrix::sum(const Matrix & matrix)
    {
    Matrix result(m, n);
    for (int i = 0; i < m; i++)
    {
    for(int j = 0; j < n; j++)
    {
    result.values[i][j] = values[i][j] + matrix.values[i][j];
    }
    }
    return result;
    }
    
    Matrix::Matrix(int m, int n)
    {
    this->n = n;
    this->values = new int*[m];
    this->m = m;
    for(int i = 0; i <m; i++)
    {
    this->values[i] = new int[n];
    }
    }
    
    Matrix::Matrix(int**values,int m, int n)
    {
    this->n = n;
    this->values = new int*[m];
    this->m = m;
    for(int i = 0; i <m; i++)
    {
    this->values[i] = new int[n];
    for(int j = 0; j< n; j++)
    {
    this->values[i][j]= values[i][j];
    }
    }
    }
    
    
    
    void Matrix::print()
    {
    for (int i = 0; i < m; i++)
    {
    for (int j = 0; j < n; j++)
    {
    cout << values[i][j] << "\t";
    }
    cout << endl;
    }
    }

    matrix.h
    Код:
    #include <iostream>
    
    class Matrix
    {
    public:
    Matrix(int m, int n);
    Matrix(int ** values, int m, int n);
    ~Matrix();
    
    Matrix sum(const Matrix & matrix);
    void print();
    
    private:
    int m;
    int n;
    int ** values;
    };
     
Загрузка...
Похожие Темы - Отладка
  1. Allexei
    Ответов:
    2
    Просмотров:
    4.247

Поделиться этой страницей