Criar um método que calcula o produto escalar de dois vetores.
Sera que alguem pode me ajudar???
-O método deve receber os dois vetores como argumentos. Os vetores devem ser listas de 3 elementos de tipo double
-O método deve retornar o produto escalar, que é uma variável de tipo double também.
B) MULTIPLICAÇÃO DE VETOR POR OUTRO VETOR RESULTANDO UM ESCALAR.
Esta multiplicação é denominada Produto Escalar
Dados dois vetores u e v , define-se o produto escalar desses vetores como segue:
u . v = u . v . cos b
onde u e v são os módulos dos vetores e b o ângulo formado entre eles.
Agora da uma googlada!
Fazer a lição de casa é mancada!
Bs!
[]'s
Kassiane_Pretti
É simples…
O problema é implementar ou a logica a usar?
O produto interno de vetores é também conhecido como produto escalar.
Sejam os vetores u = (a, b) = a i + b j e v = (c, d) = c i + d j
Vamos multiplicar escalarmente os vetores u e v .
u.v = (a i + b j).(c i + d j) = ac i.i + ad i.j + bc j.i + bd j.j
Essa ideia tb vale para vetores no plano R³, isto é, com 3 coordenadas (x,y,z).
Ai para implememtar vc usa um for simples e dois vetores como parametro. Coisa simples d+.
Espero ter ajudado.
Até \o/
Tiarlis
Valeu pessoal vou tentar aki!!!
P
paulovloghan
Desse jeito fica fácil heim,
vou começar a colar os enunciados dos meu exercicios de faculdade por aqui também.
Alias estou precisando fazer minha monografia, alguem se habilita? :shock:
é o fim mesmo :evil:
maior_abandonado
paulovloghan:
Desse jeito fica fácil heim,
vou começar a colar os enunciados dos meu exercicios de faculdade por aqui também.
Alias estou precisando fazer minha monografia, alguem se habilita? :shock:
é o fim mesmo :evil:
pois é…
Tiarlis
Estou aprendendo em casa, pego os exercicios e tento resolver, acho q dese jeito aprendo, ou vc sabe uma forma melhor??? e de graça???
Tiarlis1 like
Ai pessoal, valeu consegui fazer olha soh como ficou!!!
Valeu pela Ajuda!!!
Sempre q consueguir resolver meus problemas respondo, para poder ajudar aprendizes, como eu!!!
maior_abandonado
pois é… eu e mais alguns outros membros consideram consideram isso q vc fez algo como uma “boa pratica” de participação de foruns… quando vc conseguiu resolve vc dexo a resposta ai para caso alguem precise no futuro…
o problema é as pessoas que ja dão uma resposta pronta e mastigada… eu tb ainda to no caminho, to aprendendo ainda assim como vc, apesar de ja estar nesse mundo a um tempinhu ja… pra quem ja sabe a resposta, pode até ser mais facil as vezes da a resposta pronta, mais ai vc não ta ajudando de verdade a pessoa, de uma forma até imediata sim, mais a longo prazo não… tipo a historia do dar o peixe e esinar a pescar…
infelizmente o forum tem mta ocorrencia ainda de gente kerendo tudo mastigado, gente kerendo que resolvam os exercicios deles…esse tipo de coisa… a comunidade geral crio uma certa raiva disso…
esse assunto ja foi mto discutido por aki…
D
diegoBiagi
Segue ae uma implementação em C desse mesmo problema. Mas aqui usando listas duplamente encadeadas.
OBS: Para os valores iguais a 0 não é alocano nó.
#include<stdio.h>#include<stdlib.h>#define MAX_LIST_SIZE 6#define INFOstructlista{floatdado;intindex;structlista*prox;};typedefstructlista*def_lista;def_listainicia(){returnNULL;}def_listacria_no(floatnumero,intindex){def_listano;no=(def_lista)malloc(sizeof(structlista));no->dado=numero;no->index=index;no->prox=NULL;index++;returnno;}voidinsere_final(def_lista*Lista,floatdado,intindex){def_listano,aux;no=cria_no(dado,index);if(*Lista==NULL){*Lista=no;no->prox=*Lista;}else{aux=*Lista;while(aux->prox!=*Lista)aux=aux->prox;no->prox=aux->prox;aux->prox=no;}}voidimprime_lista(def_listalista){def_listaaux;aux=lista;do{printf("Index %d ",aux->index);printf("Dado: %.2f ",aux->dado);printf("\n");aux=aux->prox;}while(aux!=lista);}floatsearchData(def_listalista,intindex){def_listaaux=lista;do{if(aux->index==index)returnaux->dado;aux=aux->prox;}while(aux!=lista);return0;}floatprodutoEscalar(def_listal1,def_listal2){def_listaaux1,aux2;floatresult=0;intindex=0;aux1=l1;aux2=l2;do{result+=searchData(aux1,index)*searchData(aux2,index);index++;}while(index<MAX_LIST_SIZE);returnresult;}intmain(void){def_listaL1,L2;L1=inicia();L2=inicia();floatdado;intindex=0;do{printf("Digite valor da posicao %d do vetor 1: ",index);scanf("%f",&dado);if(dado!=0)insere_final(&L1,dado,index);index++;system("cls");}while(index<MAX_LIST_SIZE);index=0;do{printf("Digite valor da posicao %d do vetor 2: ",index);scanf("%f",&dado);if(dado!=0)insere_final(&L2,dado,index);index++;system("cls");}while(index<MAX_LIST_SIZE);floatresultado=produtoEscalar(L1,L2);#ifdef INFOprintf("Lista 1: \n");imprime_lista(L1);printf("\n\n");printf("Lista 2: \n");imprime_lista(L2);printf("\n");#endifprintf("Resultado da multiplicacao escalar: %f",resultado);printf("\n\n");system("PAUSE");return1;}
F
Foonw
Concordo que estudando em casa é mais difícil, mas a gente aprende a se virar, apesar de que uma mãozinha quando vocẽ está numa época em que precisa aprender e treinar sua lógica, ou aprender coisas novas, para se inserir mais rapidamente no mercado, como no meu caso que já terminei faculdade há muito tempo e trabalhei com Cobol nos últimos 6 ou 7 anos, pois mesmo “colando aqui”, a gente acaba provando lá. Por isso é bom obter algumas ajudas em aprendizado. Não quer dizer que tenha não feito sozinho outras coisas. Os dois lados têm suas opiniões, que devem ser respeitadas.