再次抱歉,我在编程方面并不是什么天才。尽管用户输入,我的数组仍然是随机值
首先总结一下:数组输入。两个3D矢量......哈哈,让我们用矢量来计算MORE矢量。无论如何:点积只是普通的可笑(小数点前9个数字;我的意思是,我从未想过1x8 + 7x5 + 4x2可能有9个数字)。 Cross产品......更糟糕。
我做了......呃......我怎么称呼它?那么,我们称之为“traza”。为了理解,我将翻译一个定义:代码的“traza”告诉我们它的执行指令的顺序,以及在每行代码后变量是如何变化的。你知道,包含变量和数字标记的表格引用了代码行,我们看看代码是否在做一些意想不到的事情。切入点:就我所能看到的而言,这一切都很好。
然后,我用一个打印命令和向量中的每个值做了一个意想不到的“pseudotraza”。在输入之后和te dot产品之前(在一个函数中)。猜猜是什么: 1)它不是我的输入,在它们中的任何一个中 2)它们甚至不是相同的值 3)第一个值远离我的输入,但以下至少是更多的逻辑(与输入)。
我在12小时前学会了今天早上使用数组/矢量/任何东西。我从来没有任何需要在其输入前将任何值设置为0。但这是我之前发生的事情之前我所知道的唯一一件事。 (总有一天你们会成为我的程序设计老师,你对我的了解比自己更多......并且原谅我糟糕的语法,西班牙语的英语教学只是“在上一个高中学习一些语法规则并且不超过50次练习......这一切,你需要通过大学入学考试!“)
#include <iostream>
using namespace std;
#include <stdlib.h>
const int N = 3;
typedef int Vector[N];
void introduirVector (Vector);
float producteEscalar (const Vector, const Vector); /*Input vector and dot product*/
int main (void)
{
Vector v1, v2;
float p_esc;
cout << "Introduim les dades del vector A: "; /* Input */
introduirVector (v1);
cout << "Introduim les dades del vector B: "; /* 2x Input combo */
introduirVector (v2);
cout << v1[0] << "\n" << v1[1] << "\n" << v1[2] << "\n" << v2[0] << "\n" << v2[1] << "\n" << v2[2] << endl; /* "Puseudotraza*/
p_esc= producteEscalar (v1, v2); /*Dot product*/
cout << "El producte escalar: " << p_esc; /*Dot product is...*/
system ("PAUSE");
return 0;
}
/*3x Input combo*/
void introduirVector (Vector)
{
int i;
Vector v;
for (i = 0; i < N; i++)
{
cin >> v[i];
}
return;
}
/* Dot product (why all the Vectors are set as constants but another after this is not set? It's the hint given by the teacher, my (not) beloved teacher...they gave us the main function and the other function's prototypes, but that's all) */
float producteEscalar (const Vector, const Vector)
{
float escalar;
Vector v1, v2;
/* Pseudotrazas for all*/
cout << v1[0] << "\n" << v1[1] << "\n" << v1[2] << "\n" << v2[0] << "\n" << v2[1] << "\n" << v2[2] << endl;
/* Dot product and all that */
escalar = (v1[0]*v2[0])+(v1[1]*v2[1])+(v1[2]*v2[2]);
return escalar;
}
如果您可以将聊天聊天减少到最低限度,那么这个问题会更具可读性。只是事实。 –
另外,这里没有实际的问题,我可以看到。 –
在introduirVector()和producteEscalar()中,使用局部变量而不是传递给函数的数据。但是,接下来你遇到的问题是你通过价值而不是参考传递,所以你的介绍矢量无法改变传递给它的矢量。 – Ross