Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viciado

[Resolvido] Produtos escalar e vetorial

Recommended Posts

Preciso fazer um programa que leia dois vetores tridimensionais e retorne os produtos escalar e vetorial.

 

 

Alguem poderia me ajudar, não to conseguindo fazer esse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os calculos estao ai, agora voce faz as alteracoes que achar necessarias ( criar uma struct para o vetor, pedir que o usuario digite o vetor, guardar os resultados em variaveis.. )

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
	int v1[3] = {1,3,0};
	int v2[3] = {-1,1,1};
	
	cout << "Produto escalar e dado por:(x1*x2)+(y1*y2)+(z1*z2) =  " << endl;
	cout << '(' << v1[0] << " * " << v2[0] << ") + " 
		 << '(' << v1[1] << " * " << v2[1] << ") + "
		 << '(' << v1[2] << " * " << v2[2] << ") = "
		 << v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2] << endl;
		 
	cout << "Produto Vetorial e dado por: " << endl
		 << "i = (y1 * z2)-(y2 * z1)" << endl
		 << "j = -(x1 * z2)-(x2 * z1)" << endl
		 << "k = (x1 * y2)-(x2 * y1)" << endl;
		 
	cout << '(' << (v1[1]*v2[2])-( v2[1]*v1[2]) << " ," 
				<< -((v1[0]*v2[2])-( v2[0]*v1[2])) << " ," 
				<< (v1[0]*v2[1])-( v2[0]*v1[1]) << ')' << endl;

		   
	
	system("PAUSE");
	return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
É proíbido a abertura de tópicos com titulo: "ME AJUDE", "PELO AMOR DE DEUS", "ESTOU DESESPERADO", "URGENTE", "SOCORRO!", "HELP!", ou qualquer coisa similar, assim como utilizar Caixa Alta (letras todas em maiusculas) no titulo ou mesmo no corpo do tópico ou post. Utilize titulos curtos e claros, que condizem com sua dúvida. Os títulos, tópicos e posts serão editados e os membros advertidos por MP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os calculos estao ai, agora voce faz as alteracoes que achar necessarias ( criar uma struct para o vetor, pedir que o usuario digite o vetor, guardar os resultados em variaveis.. )

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
	int v1[3] = {1,3,0};
	int v2[3] = {-1,1,1};
	
	cout << "Produto escalar e dado por:(x1*x2)+(y1*y2)+(z1*z2) =  " << endl;
	cout << '(' << v1[0] << " * " << v2[0] << ") + " 
		 << '(' << v1[1] << " * " << v2[1] << ") + "
		 << '(' << v1[2] << " * " << v2[2] << ") = "
		 << v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2] << endl;
		 
	cout << "Produto Vetorial e dado por: " << endl
		 << "i = (y1 * z2)-(y2 * z1)" << endl
		 << "j = -(x1 * z2)-(x2 * z1)" << endl
		 << "k = (x1 * y2)-(x2 * y1)" << endl;
		 
	cout << '(' << (v1[1]*v2[2])-( v2[1]*v1[2]) << " ," 
				<< -((v1[0]*v2[2])-( v2[0]*v1[2])) << " ," 
				<< (v1[0]*v2[1])-( v2[0]*v1[1]) << ')' << endl;

		   
	
	system("PAUSE");
	return 0;
}

 

Ai vlw cara. Mais tem como fazer com a biblioteca #include <stdio.h> usando o laço for. Por que até agora foi isso que eu aprendi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q nao precisa usar for para essas operacoes, mas qualquer coisa voce tenta implementar.

A logica do programa esta identica ao anterior, mas agora usando os recursos da stdio para saida dos resultados.

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int v1[3] = {1,3,0};
	int v2[3] = {-1,1,1};
	
	printf("Produto escalar e dado por:(x1*x2)+(y1*y2)+(z1*z2) =  \n");
	printf("(%d * %d) + (%d * %d) + (%d * %d) = %d\n",v1[0],v2[0],v1[1],v2[1],v1[2],v2[2],v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]); 
	printf("Produto Vetorial e dado por:\n");
	printf("i = (y1 * z2)-(y2 * z1)\n");
	printf("j = -(x1 * z2)-(x2 * z1)\n");
	printf("k = (x1 * y2)-(x2 * y1)\n" );
	printf("( %d, %d, %d )\n",(v1[1]*v2[2])-( v2[1]*v1[2]),-((v1[0]*v2[2])-( v2[0]*v1[2])),(v1[0]*v2[1])-( v2[0]*v1[1]));
	 
		   
	
	system("pause");
	return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q nao precisa usar for para essas operacoes, mas qualquer coisa voce tenta implementar.

A logica do programa esta identica ao anterior, mas agora usando os recursos da stdio para saida dos resultados.

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int v1[3] = {1,3,0};
	int v2[3] = {-1,1,1};
	
	printf("Produto escalar e dado por:(x1*x2)+(y1*y2)+(z1*z2) =  \n");
	printf("(%d * %d) + (%d * %d) + (%d * %d) = %d\n",v1[0],v2[0],v1[1],v2[1],v1[2],v2[2],v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]); 
	printf("Produto Vetorial e dado por:\n");
	printf("i = (y1 * z2)-(y2 * z1)\n");
	printf("j = -(x1 * z2)-(x2 * z1)\n");
	printf("k = (x1 * y2)-(x2 * y1)\n" );
	printf("( %d, %d, %d )\n",(v1[1]*v2[2])-( v2[1]*v1[2]),-((v1[0]*v2[2])-( v2[0]*v1[2])),(v1[0]*v2[1])-( v2[0]*v1[1]));
	 
		   
	
	system("pause");
	return 0;
}

 

 

Ok. Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q nao precisa usar for para essas operacoes, mas qualquer coisa voce tenta implementar.

A logica do programa esta identica ao anterior, mas agora usando os recursos da stdio para saida dos resultados.

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int v1[3] = {1,3,0};
	int v2[3] = {-1,1,1};
	
	printf("Produto escalar e dado por:(x1*x2)+(y1*y2)+(z1*z2) =  \n");
	printf("(%d * %d) + (%d * %d) + (%d * %d) = %d\n",v1[0],v2[0],v1[1],v2[1],v1[2],v2[2],v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]); 
	printf("Produto Vetorial e dado por:\n");
	printf("i = (y1 * z2)-(y2 * z1)\n");
	printf("j = -(x1 * z2)-(x2 * z1)\n");
	printf("k = (x1 * y2)-(x2 * y1)\n" );
	printf("( %d, %d, %d )\n",(v1[1]*v2[2])-( v2[1]*v1[2]),-((v1[0]*v2[2])-( v2[0]*v1[2])),(v1[0]*v2[1])-( v2[0]*v1[1]));
	 
		   
	
	system("pause");
	return 0;
}

 

 

Ok. Obrigado

 

 

Como eu faço os produtos sendo que os valores dos vetores deve ser informado ? E para ler os vetores?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.