Beispiel #1
0
//*****************************************************************************
//FALTA TESTAR - NAO ENCONTREI EXEMPLOS
bool Matriz::eOrtogonal()const
	//  A * A^t = I, onde A^t eh a transposta de A, I eh a identidade de A
	//Uma Matriz Ortogonal eh uma matriz real A Cuja a inversa(A^-1 = A^t) coincide 
	//com a sua transposta
{//inicio ortogonal
   try{
	   //verificando se a matriz eh quadrada
	   if(quantidadeLinhas != quantidadeColunas) return false;
	   
      //calculando a inversa
	  Matriz matTransp(0,0);
	  //obj para receber p resultando do calculo da transposta

      //obtendo a transposta
	  matTransp = eResultanteDaTransposta();

	  Matriz produto(0,0);
	  //se nao for possivel fazer a multiplicacao o tratanento cuidara 
	  produto = (matTransp)*(*this);

	  //verifiacando
	  //se ela eh identidade, se nao for nao ira satisfazer a condicao de ortogonal
	  //Verificando se o produto da original com a transposta eh igual a identidade
	  //essa eh a unica condicao para ser ortogonal
	  if(produto.eIdentidade()) return true;
	  
	  return false;     
   }//fim try
   catch(std::string msg){
	   throw msg;
   }
   catch(int idException){
   	   throw idException;
   }
}//Fim do metodo
Beispiel #2
0
int main()
{
	int x, y, z;
	char ch;

	printf("Digite uma operacao matematica (+, -, *, /): ");
	ch = getchar();
	printf("Digite 2 numeros: ");
	scanf("%d %d", &x, &y);

	switch(ch)
	{
		case '+':
			z = soma(x, y);
			break;
		case '-':
			z = subtracao(x, y);
			break;
		case '*':
			z = produto(x, y);
			break;
		case '/':
			z = divisao(x, y);
			break;
		default:
			z = soma(x, y);
	}

	printf("Resultado: %d", z);
	return 0;
}
Beispiel #3
0
int main(){
	int opt;
	printf("Digite um número para escolher alguma opção abaixo\n"
	       "\t1\tSoma de 2 números.\n"
	       "\t2\tDiferença entre 2 números ( maior pelo menor ).\n"
	       "\t3\tProduto entre 2 números.\n"
	       "\t4\tDivisão entre 2 números (o denominador não pode ser zero).\n"
	       ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ");
	scanf("%d", &opt);

	switch (opt){
		case 1:
			soma();
			break;
		case 2:
			diferenca();
			break;
		case 3:
			produto();
			break;
		case 4:
			divisao();
			break;
	
	}

	return 0;
}
Beispiel #4
0
main(){
	unsigned int a,b,c;
	printf("digite a e b: ");
	scanf("%u %u", &a, &b);
	c = produto(a,b);
	printf(" %u X %u = %u", a,b,c);
	getch();
}
Beispiel #5
0
int main(void) {
	int n, a, b;
	freopen("e25.txt", "r", stdin);
	freopen("s25.txt", "w", stdout);

	scanf("%u", &n);

	while (n--) {
		scanf("%u %u", &a, &b);
		printf("%u\n", produto(a, b));
	}

	fclose(stdin);
	fclose(stdout);
	return 0;
}
Beispiel #6
0
unsigned int produto(unsigned int a,unsigned int b){
	if (b==0) return 0;
	if (b==1) return a;
	return (a + produto(a,b-1));
}