Ele faz a utilização de uma struct para a criação de vetores e utiliza-se de uma função chamada linear() para determinar se há dependência linear ou não.
Obs: o programa foi compilado na plataforma Mac com o Xcode. Para compilar em Windows, a chamada para o comando do sistema operacional
system("clear");
deve ser trocado por
system("cls");
para limpar a tela do console
=====================================================
#include "stdio.h"
#include "stdlib.h"
struct vetor {
float x;
float y;
float z;
} v1, v2, v3;
int linear();
int main (int argc, const char * argv[]) {
int resultado = 0;
system("clear");
printf("Este programa determina se os vetores informados são linearmente dependentes ou não:\n");
printf("************************************************************************************\n");
printf("\n");
printf("Informe as coordenadas do vetor v1: \n\n");
printf("Coordenada x: "); scanf("%f", &v1.x);
printf("Coordenada y: "); scanf("%f", &v1.y);
printf("Coordenada z: "); scanf("%f", &v1.z);
printf("\n");
printf("Informe as coordenadas do vetor v2: \n");
printf("Coordenada x: "); scanf("%f", &v2.x);
printf("Coordenada y: "); scanf("%f", &v2.y);
printf("Coordenada z: "); scanf("%f", &v2.z);
printf("\n");
printf("Informe as coordenadas do vetor v3: \n");
printf("Coordenada x: "); scanf("%f", &v3.x);
printf("Coordenada y: "); scanf("%f", &v3.y);
printf("Coordenada z: "); scanf("%f", &v3.z);
resultado = linear();
printf("\n***************************************************************\n");
if (resultado == 0)
printf("Os vetores informados são linearmente dependentes");
else
printf("Os vetores informados são linearmente independentes");
printf("\n***************************************************************\n\n");
return 0;
}
int linear()
{
float resultado = ((v1.x * v2.y * v3.z) + (v1.y * v2.z * v3.x) + (v1.z * v2.x * v3.y)
- (v3.x * v2.y * v1.z) - (v3.y * v2.z * v1.x) - (v3.z * v2.x * v1.y));
if (resultado == 0.0)
return 0;
else
return 1;
}
No comments:
Post a Comment