Sunday, November 28, 2010

Linguagem C: Inversão de Vetores

Este programa é referente à uma atividade solicitada em sala de aula, que realiza a inversão de um vetor, dentre outras coisas.

O enunciado do problema encontra-se no próprio código, na forma de comentário.

O programa foi compilado no Windows, com a IDE DevC++.


================================================================


/*

Escreva um programa onde seja solicitado do usuário, que entre com 5 valores reais quaisquer.
Armazene estes valores num vetor. Em seguida, aplique um aumento de 20% a todos os valores
digitados pelo usuário, armazenando estes novos valores num segundo vetor, na ordem inversa a
qual foi digitada. Crie um terceiro vetor para receber, em suas posições, o somatório do valor
contido nas respectivas posições dos 2 vetores anteriores. Apresente os resultados obtidos nas
posições do terceiro vetor. Calcule a soma dos elementos do respectivo vetor.

*/

#include "stdio.h"
#include "stdlib.h"

int main(int argc, char *argv[])
{

float A[5], B[5], C[5];

for(int i = 0; i <= 4; i++) {
printf("Entre com o valor %d do vetor A: ", i + 1);
scanf("%f", &A[i]);
}

for(int l = 0; l <= 4; l++) {
B[l] = A[l] + (A[l] * 0.2);
}

for(int m = 0; m <= 4; m++) {
B[m] = B[4 - m];
}

for(int n = 0; n <= 4; n++) {
C[n] = A[n] + B[n];
}

printf("**************************\n");
printf("Impressao dos valores: \n");

for(int o = 0; o <= 4; o++) {
printf("O valor %d do vetor C e: %f \n", o + 1, C[o]);
}

system("PAUSE");
return 0;
}

Linguagem C: Cálculo do Vetor Necessário Para Efetuar um Deslocamento Entre 2 Pontos Escolhidos

Este programa determina o vetor necessário para a realização de um deslocamento entre 2 pontos escolhidos pelo usuário.

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"

int main (int argc, const char * argv[]) {

system("clear");

printf("***************************************************************************\n");
printf("Este programa informa qual o vetor necessário para efetuar o deslocamento\n");
printf("no espaço R3 entre 2 pontos informados pelo usuário\n\n");

float xA, yA, zA, xB, yB, zB, xC, yC, zC = 0;

printf("Qual as coordenadas do ponto A: \n");
printf("\nCoordenada X: "); scanf("%f", &xA);
printf("\nCoordenada Y: "); scanf("%f", &yA);
printf("\nCoordenada Z: "); scanf("%f", &zA);

printf("\n\nQual as coordenadas do ponto B: \n");
printf("\nCoordenada X: "); scanf("%f", &xB);
printf("\nCoordenada Y: "); scanf("%f", &yB);
printf("\nCoordenada Z: "); scanf("%f", &zB);

xC = xB - xA;
yC = yB - yA;
zC = zB - zA;

printf("*****************************************************\n");
printf("A translação necessária para o movimento do ponto\n");
printf("A(%2.2f, %2.2f, %2.2f) para o ponto\n", xA, yA, zA);
printf("B(%2.2f, %2.2f, %2.2f) é representada pelo vetor: \n\n", xB, yB, zB);

printf("V(%2.2f, %2.2f, %2.2f)", xC, yC, zC);
printf("\n\n");

return 0;
}

Linguagem C: Produto Escalar Entre 2 Vetores

Este programa realiza a produto escalar entre 2 vetores escolhidos pelo usuário

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"

int main (int argc, const char * argv[]) {

float V1x, V1y, V1z, V2x, V2y, V2z = 0;
float produto = 0;

system("clear");

printf("Este programa realiza o produto escalar entre 2 vetores, e informa se são ortogonais: \n");
printf("*************************************************************************************\n\n");

printf("Informe as coordenadas do primeiro vetor: \n");
printf("Coordenada x: "); scanf("%f", &V1x);
printf("Coordenada y: "); scanf("%f", &V1y);
printf("Coordenada z: "); scanf("%f", &V1z);

printf("\n");

printf("Informe as coordenadas do segundo vetor: \n");
printf("Coordenada x: "); scanf("%f", &V2x);
printf("Coordenada y: "); scanf("%f", &V2y);
printf("Coordenada z: "); scanf("%f", &V2z);

produto = (V1x * V2x) + (V1y * V2y) + (V1z * V2z);

printf("\n\nO produto escalar entre os vetores (%2.2f,%2.2f,%2.2f) e (%2.2f,%2.2f,%2.2f) é: %2.2f",
V1x, V1y, V1z, V2x, V2y, V2z, produto);

printf("\n\n");

if (produto == 0.0)
printf("Os vetores informados são ortogonais (formam um ângulo de 90º entre si)");
else
printf("Os vetores informados não são ortogonais (não formam um ângulo de 90º entre si)");

printf("\n\n");


return 0;
}

Linguagem C: Produto Cartesiano entre 3 conjuntos, no plano R3

Este programa calcula o produto cartesiano entre 3 conjuntos numérios, no espaço R3

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"

int main (int argc, char *argv[])
{
// mudar para --> system("cls"); <-- no Windows
system("clear");

printf("Este programa calcula o produto carterisano entre 3 conjuntos numericos, no plano R3\n");
printf("************************************************************************************\n");

int nA, nB, nC = 0;

printf("Quantos elementos tem o primeiro conjunto: "); scanf("%d", &nA);
printf("\nQuantos elementos tem o segundo conjunto: "); scanf("%d", &nB);
printf("\nQuantos elementos tem o terceiro conjunto: "); scanf("%d", &nC);
printf("\n");

float A[nA];
float B[nB];
float C[nC];

int i = 0;
for (i; i < nA; i++)
{
printf("Entre com o elemento numero %d do conjunto A => ", i+1); scanf("%f", &A[i]); printf("\n");
}

int j = 0;
for (j; j < nB; j++)
{
printf("Entre com o elemento numero %d do conjunto B => ", j+1); scanf("%f", &B[j]); printf("\n");
}

int k = 0;
for (k; k < nC; k++)
{
printf("Entre com o elemento numero %d do conjunto C => ", k+1); scanf("%f", &C[k]); printf("\n");
}

printf("\n\nO conjunto dos ternos ordenados é: \n\n");

printf("{\n");

for(int i = 0; i < nA; i++)
for(int j = 0; j < nB; j++)
for(int k = 0; k < nC; k++)
printf("(%2.2f,%2.2f,%2.2f)\n", A[i], B[j], C[k]);

printf("}");
printf("\n\n");

return 0;
}

Linguagem C: Produto Cartesiano entre 2 conjuntos, no plano R2


Este programa calcula o produto cartesiano entre 2 conjuntos escolhidos pelo usuário, no plano R2

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"

int main (int argc, char *argv[])
{
// mudar para --> system("cls"); <-- no Windows
system("clear");

printf("Este programa calcula o produto carterisano entre 2 conjuntos numericos, no plano R2\n");
printf("************************************************************************************\n");

int nA, nB = 0;

printf("Quantos elementos tem o primeiro conjunto: "); scanf("%d", &nA);
printf("\nQuantos elementos tem o segundo conjunto: "); scanf("%d", &nB);
printf("\n");

float A[nA];
float B[nB];

int i = 0;
for (i; i < nA; i++)
{
printf("Entre com o elemento numero %d do conjunto A => ", i+1); scanf("%f", &A[i]); printf("\n");
}

int j = 0;
for (j; j < nB; j++)
{
printf("Entre com o elemento numero %d do conjunto B => ", j+1); scanf("%f", &B[j]); printf("\n");
}

printf("\n\nO conjunto dos pares ordenados é: \n\n");

printf("{\n");

for(int i = 0; i < nA; i++)
for(int j = 0; j < nB; j++)
printf("(%2.2f,%2.2f)\n", A[i], B[j]);

printf("}");
printf("\n\n");

return 0;
}


Linguagem C: Determinação do Ponto Simétrico no Espaço R3

Neste programa, o usuário escolhe um ponto no espaço R3 e mais um eixo de referência, para que seja calculado o ponto simétrico ao escolhido, em relação ao eixo de referência também escolhido.

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"

int main (int argc, const char * argv[]) {

system("clear");

printf("**********************************************************************************************************\n");
printf("Este programa determina o ponto simétrico a um ponto escolhido no espaço R3, dado um plano como referência\n\n");

float x, y, z = 0;

printf("Entre com a coordenada X de seu ponto: "); scanf("%f", &x);
printf("\nEntre com a coordenada Y de seu ponto: "); scanf("%f", &y);
printf("\nEntre com a coordenada Z de seu ponto: "); scanf("%f", &z);

printf("\nO seu ponto escolhido foi: (%2.2f,%2.2f,%2.2f)\n\n", x, y, z);

int op;

printf("1) x0z\n");
printf("2) y0z\n");
printf("3) x0y\n");

printf("\nQual o seu plano de referência: "); scanf("%d", &op);

switch (op) {
case 1:
printf("\nO ponto simétrico ao (%2.2f,%2.2f,%2.2f) é o (%2.2f,%2.2f,%2.2f)\n", x, y, z, x, -y, z);
break;
case 2:
printf("\nO ponto simétrico ao (%2.2f,%2.2f,%2.2f) é o (%2.2f,%2.2f,%2.2f)\n", x, y, z, -x, y, z);
break;
case 3:
printf("\nO ponto simétrico ao (%2.2f,%2.2f,%2.2f) é o (%2.2f,%2.2f,%2.2f)\n", x, y, z, x, y, -z);
break;
default:
{
printf("\n\n****************************************************");
printf("\nVocê precisa inserir um dos números válidos acima!!!\n\n");
}
}

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

Linguagem C: Módulo de um Vetor

O programa abaixo determina o módulo de um vetor informado pelo usuário.

Ele faz a utilização de 2 funções da biblioteca math.h, para cálculo da raíz quadrada e calcular a potência de expoente 2.

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"
#include "math.h"

int main (int argc, const char * argv[]) {

system("clear");

printf("Este programa determina o módulo de um vetor: \n");
printf("********************************************* \n");
printf("\n");

printf("Qual a coordenada X do vetor: ");
float x = scanf("%f", &x);
printf("Qual a coordenada Y do vetor: ");
float y = scanf("%f", &y);
printf("Qual a coordenada Z do vetor: ");
float z = scanf("%f", &z);

printf("\n\nO módulo do vetor é: %f\n\n", sqrt((pow(x, 2)) + (pow(y , 2)) + (pow(z , 2))));

return 0;
}

Linguagem C: Dependência Linear

Este programa abaixo, para dois vetores escolhidos pelo usuário, informa se há dependência linear entre eles ou não.

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;
}