Imprimir o Resultado
Neste passo final, irá melhorar o programa de operações vetoriais adicionando saída formatada e criando uma função para imprimir os resultados dos vetores de forma clara e legível.
Atualize o ficheiro vector_operations.c com a seguinte implementação melhorada:
cd ~/project
nano vector_operations.c
Adicione a nova função de impressão e modifique o programa principal:
#include <stdio.h>
#define VECTOR_SIZE 3
void readVector(float vector[], int size) {
printf("Introduza %d componentes do vetor (separadas por espaço): ", size);
for (int i = 0; i < size; i++) {
scanf("%f", &vector[i]);
}
}
float computeDotProduct(float vector1[], float vector2[], int size) {
float dotProduct = 0.0;
for (int i = 0; i < size; i++) {
dotProduct += vector1[i] * vector2[i];
}
return dotProduct;
}
void computeCrossProduct(float vector1[], float vector2[], float result[]) {
result[0] = vector1[1] * vector2[2] - vector1[2] * vector2[1];
result[1] = vector1[2] * vector2[0] - vector1[0] * vector2[2];
result[2] = vector1[0] * vector2[1] - vector1[1] * vector2[0];
}
// Nova função para imprimir o vetor com formatação
void printVector(const char* label, float vector[], int size) {
printf("%s: [", label);
for (int i = 0; i < size; i++) {
printf("%.2f%s", vector[i], (i < size - 1) ? ", " : "");
}
printf("]\n");
}
int main() {
float vector1[VECTOR_SIZE];
float vector2[VECTOR_SIZE];
float crossProductResult[VECTOR_SIZE];
// Introdução de vetores
printf("Entrada de Vetores:\n");
printVector("Vetor 1", vector1, VECTOR_SIZE);
readVector(vector1, VECTOR_SIZE);
printVector("Vetor 2", vector2, VECTOR_SIZE);
readVector(vector2, VECTOR_SIZE);
// Calcular resultados
float dotProduct = computeDotProduct(vector1, vector2, VECTOR_SIZE);
computeCrossProduct(vector1, vector2, crossProductResult);
// Imprimir resultados formatados
printf("\nResultados das Operações Vetoriais:\n");
printVector("Vetor 1", vector1, VECTOR_SIZE);
printVector("Vetor 2", vector2, VECTOR_SIZE);
printf("Produto Escalar: %.2f\n", dotProduct);
printVector("Produto Vetorial", crossProductResult, VECTOR_SIZE);
return 0;
}
Compile e execute o programa atualizado:
gcc vector_operations.c -o vector_operations
./vector_operations
Exemplo de saída:
Entrada de Vetores:
Vetor 1: [0.00, 0.00, 0.00]
Introduza 3 componentes do vetor (separadas por espaço): 1 2 3
Vetor 2: [0.00, 0.00, 0.00]
Introduza 3 componentes do vetor (separadas por espaço): 4 5 6
Resultados das Operações Vetoriais:
Vetor 1: [1.00, 2.00, 3.00]
Vetor 2: [4.00, 5.00, 6.00]
Produto Escalar: 32.00
Produto Vetorial: [-3.00, 6.00, -3.00]
Explicação
- Adicionada a função
printVector() para criar uma saída de vetor consistente e formatada.
- A função
main() melhorada para demonstrar a entrada de vetores e a impressão dos resultados.
- Legibilidade melhorada dos vetores e resultados de cálculos.
- Fornece um formato de saída limpo e profissional para operações vetoriais.