Você está aqui: C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular o produto escalar entre dois vetores usando C - Geometria Analítica e Álgebra Linear usando C

Quantidade de visualizações: 5291 vezes
O produto escalar (em inglês: dot product) entre dois vetores é um número real que relaciona o comprimento desses dois vetores e o ângulo formado por eles. É importante notar que alguns autores se referem ao produto escalar como produto interno.

Obtém-se o produto escalar entre dois vetores, no R2, ou três vetores, no R3, por meio da fórmula a seguir (assumindo dois vetores __$\vec{u} = (a, b)__$ e __$\vec{v} = (c, d)__$ no R2).

\[\vec{u} \cdot \vec{v} = a \cdot c + b \cdot d \]

Vamos agora a um exemplo prático. Veja a imagem abaixo, na qual temos dois vetores, com suas coordenadas e magnitudes (módulo, comprimento ou norma):



Note que ambos os vetores possuem como origem as coordenadas (0, 0). O primeiro vetor possui as coordenadas finais (4, 10) e magnitude 11, e o segundo vetor possui as coordenadas finais (11, 6) e magnitude 13. Magnitude é o tamanho do vetor, ou seja, seu comprimento, seu módulo ou norma.

Veja agora o código C completo que lê as coordenadas dos dois vetores e calcula e mostra o produto escalar entre eles:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
  
int main(int argc, char *argv[]){
  // coordenadas dos dois vetores
  float x1, y1, x2, y2;
  // guarda o produto escalar
  float produto_escalar; 
	  
  // x e y do primeiro vetor
  printf("Coordenada x do primeiro vetor: ");
  scanf("%f", &x1);
  printf("Coordenada y do primeiro vetor: ");
  scanf("%f", &y1);
	
  // x e y do segundo vetor
  printf("Coordenada x do segundo vetor: ");
  scanf("%f", &x2);
  printf("Coordenada y do segundo vetor: ");
  scanf("%f", &y2);   
    
  // vamos calcular o produto escalar
  produto_escalar = (x1 * x2) + (y1 * y2);
    
  // mostramos o resultado
  printf("O produto escalar é: %f", produto_escalar);
 
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Coordenada x do primeiro vetor: 4
Coordenada y do primeiro vetor: 10
Coordenada x do segundo vetor: 11
Coordenada y do segundo vetor: 6
O produto escalar é: 104.0

Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Strings e Caracteres

Como criar sua própria função substring() para obter uma substring a partir de uma string em C

Quantidade de visualizações: 16845 vezes
Em algumas situações precisamos obter uma substring a partir de uma string. A linguagem C já fornece algumas funções que tornam isso possível. No entanto, nenhuma destas funções permite especificar o índice inicial da substring. Sendo assim, o trecho de código abaixo mostra como escrever uma função substring() que permite informar a string de origem, o índice inicial e a quantidade de caracteres que serão obtidos. O retorno da função será um ponteiro para a substring obtida:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

char *substring(char *origem, int inicio, int quant){
  char *res = origem;
  int i = 0;

  // posição inicial menor que 0 ou
  // posição inicial muito exagerada?
  if((inicio < 0) || (inicio > strlen(origem)))
    inicio = 0;

  // quantidade de caracteres muito exagerada?
  if(quant > inicio + strlen(origem))
    quant = strlen(origem) - inicio;

  // obtem os caracteres desejados
  for(i = 0; i <= quant - 1; i++){
    res[i] = origem[inicio + i];
  }

  // marca o fim da string
  res[i] = '\0';

  return res;
}

int main(int argc, char *argv[])
{
  char texto[] = "Gosto muito de C e C++";
  
  // não podemos bagunçar a string original
  char sub_temp[128];
  strcpy(sub_temp, texto);
  // 10 caracteres começando
  // no índice 6
  char *res = substring(sub_temp, 6, 10);

  // exibe o resultado
  puts(res);

  // exibe a string original
  puts(texto);

  system("pause");
  return 0;
}

Ao executar este código nós teremos o seguinte resultado:

muito de C
Gosto muito de C e C++


C ::: Dicas & Truques ::: Strings e Caracteres

Como contar as ocorrências de um determinado caractere em uma string usando a linguagem C

Quantidade de visualizações: 11254 vezes
Em algumas situações precisamos obter a quantidade de vezes que um caractere ocorre dentro de uma string. Para isso podemos usar a função personalizada char_count(). Esta função recebe a string e o caractere que desejamos pesquisar e retorna um inteiro contendo a quantidade de vezes que o caractere foi encontrado.
Veja o código (usando apenas ANSI-C):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
// função personalizada que permite contar as
// ocorrências de um caractere em uma string
int char_count(const char *str, char caractere){
  int i, quant = 0;
 
  // vamos percorrer todos os caracteres da string
  for(i = 0; str[i]; i++){
    if(str[i] == caractere){ // localizamos
      quant++;
    }
  }
 
  return quant;
}
 
int main(int argc, char *argv[]){
  char frase[] = "Gosto muito de Java, JavaScript e Python";
 
  printf("Ocorrencias encontradas: %d",
    char_count(frase, 'a'));
 
  puts("\n\n");
  system("PAUSE");
  return 0;
}

Ao executarmos este código nós teremos o seguinte resultado:

Ocorrencias encontradas: 4


C ::: Dicas & Truques ::: Arquivos e Diretórios

Como testar se um arquivo existe usando a linguagem C

Quantidade de visualizações: 14186 vezes
Muitas vezes precisamos saber se um determinado arquivo existe antes de efetuarmos alguma operação. O trecho de código abaixo mostra como você pode implementar uma função file_exists() em C que pode ser usada em seus programas. O segredo aqui é tentar abrir o arquivo passado como argumento para a função. Se o arquivo for aberto com sucesso, sabemos que ele existe e a função retorna o valor 1 (true), do contrário retorna 0 (false):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

/*
  Implementação de uma função file_exists() em C. Se
  o arquivo existir o valor 1 (true) será retornado. Caso
  contrário a função retornará 0 (false).
*/
int file_exists(const char *filename)
{
  FILE *arquivo;

  if(arquivo = fopen(filename, "r"))
  {
    fclose(arquivo);
    return 1;
  }
  return 0;
}

int main(int argc, char *argv[])
{
  // testa se o arquivo existe
  if(file_exists("c:\\testes.txt")){
    printf("O arquivo existe no local especificado.\n");
  }
  else
    printf("O arquivo NAO existe no local especificado.\n");

  printf("\n\n");
  system("PAUSE");
  return 0;
}



Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 24 usuários muito felizes estudando em nosso site.