Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2015, 18:15   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию С++, классы, векторное произведение по координатам

Ребят, есть код, вычисляет векторное произведение по двум координатам векторов

а(х,у,з)
б(х,у,з)

Что-то мне подсказывает, что я где-то накосячил :D, т.е. смысл от ввода класса==0 , хоть и выводится все верно:D

кто-нибудь сможет исправить метод более красивым образом? Задание
звучит так:

Реализовать класс "Вектор в трехмерном пространстве"
Поля-координаты вектора. Метод-расчет векторного произведения двух векторов.

описание класса

vect.h

Код:
#ifndef VECT_H
#define VECT_H
#include <string>

using namespace std;

class vect
{
public:

int x1,y1,z1;

    vect( float V1,  float V2,  float V3);

   string vecttp (vect *a,vect*y);


};

#endif // VECT_H
реализация vect.cpp;
Код:
#include "vect.h"
#include <string>
#include <string.h>


using namespace std;

vect::vect( float V1,  float V2,  float V3)
{

    x1=V1;
    y1=V2;
    z1=V3;

};

string vect::vecttp (vect *a,vect*y)
{


float ax,ay,az,bx,by,bz;

char i[40],j[40],k[40];
string itog;


ax=a->x1;
ay=a->y1;
az=a->z1;
bx=y->x1;
by=y->y1;
bz=y->z1;


sprintf(i,"%f",((ay*bz)-(az*by)));
sprintf(j,"%f",((az*bx)-(ax*bz)));
sprintf(k,"%f",((ax*by)-(ay*bx)));


itog="{"+string(i)+"; "+string(j)+"; "+string(k)+"}";


return itog;



};

сама программа по вызову метода

Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "vect.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    vect *x,*y;


       x=new vect(ui->Ax_1->text().toFloat(),ui->Ay_1->text().toFloat(),ui->Az_1->text().toFloat());
       y=new vect(ui->Ax_2->text().toFloat(),ui->Ay_2->text().toFloat(),ui->Az_2->text().toFloat());



       ui->textEdit->setText(QString("Векторное произведение равно: %1").arg(x->vecttp(x,y).c_str()));

}
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 05.06.2015, 19:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Чет не пойму бзика. Чем класс не устроил? Претензии к нему какие-то липовые.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.06.2015, 19:11   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

не очень понимаю классы, вот допустим в этой теме: http://www.programmersforum.ru/showthread.php?t=274971

В программе используются 6 qlineEdit'ов, а в классе только denum и num, например.
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 05.06.2015, 20:34   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Подожди, а вопрос в чем? У тебя есть прога. Она работает? Она работает правильно? если дважды "да", то мои поздравления. Ты Виннер, чего париться по поводу "нра-не нра"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
11. Найти произведение элементов нечетных строк массива. Вывести сам массив и произведение. p-6 Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2012 23:37
Нарисовать красивое окошко. Expression Design, Expression Blend. Векторное изображение. Casper-SC Фриланс 0 09.02.2011 17:59
векторное изображение opengl Belokrinickiy Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 13.07.2010 09:41
Пересечение отрезков. Векторное произведение phpcreator Помощь студентам 2 23.06.2010 21:58
Вычислить произведение P кубов трех чисел a, b и c, если их сумма меньше нуля, произведение P модулей NoUserName Помощь студентам 3 01.03.2009 18:10