0

Desafios Aritméticos Intermediários em C#

A
Alfredo Neto

Por favor queria tirar dúvida do desafio tipo de triangLeia 3 valores de ponto flutuante A, B e C e ordene-os em ordem decrescente, de modo que o lado A representa o maior dos 3 lados. A seguir, determine o tipo de triângulo que estes três lados formam, com base nos seguintes casos, sempre escrevendo uma mensagem adequada:

  • se A ≥ B+C, apresente a mensagem: NAO FORMA TRIANGULO
  • se A2 = B2 + C2, apresente a mensagem: TRIANGULO RETANGULO
  • se A2 > B2 + C2, apresente a mensagem: TRIANGULO OBTUSANGULO
  • se A2 < B2 + C2, apresente a mensagem: TRIANGULO ACUTANGULO
  • se os três lados forem iguais, apresente a mensagem: TRIANGULO EQUILATERO
  • se apenas dois dos lados forem iguais, apresente a mensagem: TRIANGULO ISOSCELES

Entrada

A entrada contem três valores de ponto flutuante de dupla precisão A (0 < A) , B (0 < B) e C (0 < C).


Saída

Imprima todas as classificações do triângulo especificado na entrada.


 

Exemplos de EntradaExemplos de Saída7.0 5.0 7.0

TRIANGULO ACUTANGULO

TRIANGULO ISOSCELES

6.0 6.0 10.0

TRIANGULO OBTUSANGULO

TRIANGULO ISOSCELES

6.0 6.0 6.0

TRIANGULO ACUTANGULO

TRIANGULO EQUILATERO

5.0 7.0 2.0

NAO FORMA TRIANGULO

6.0 8.0 10.0

TRIANGULO RETANGULOulo em C# :


POr favor tenho uma resoluçao mas esta errada :

meu Código:

#include <stdio.h>

#include <math.h>

int main()

{

double A,B,C;

double vetor[3];

double auxiliar;

int i,j,nao_forma=0;

do{

scanf("%lf %lf %lf",&A,&B,&C);

}while(A<0.0 || B<0.0 || C < 0.0);

vetor[0] = A;

vetor[1] = B;

vetor[2] = C;

for(i=0;i<3;i++)

{

for(j=i+1;j<3;j++)

{

if ( vetor[i] < vetor[j] )

    {

      auxiliar = vetor[j]; 

      vetor[j] = vetor[i]; 

      vetor[i] = auxiliar; 

    }

   }

}

A = vetor[0];

B = vetor[1];

C = vetor[2];

if(A>=B+C){

printf("NAO FORMA TRIANGULO\n");

nao_forma = 1;

}else if(pow(A,2)==(pow(B,2)+pow(C,2))){

printf("TRIANGULO RETANGULO\n");

}else if(pow(A,2)>(pow(B,2)+pow(C,2))){

printf("TRIANGULO OBTUSANGULO\n");

}else if(pow(A,2)<(pow(B,2)+pow(C,2))){

printf("TRIANGULO ACUTANGULO\n");

}if(A==B && B==C && nao_forma==0){

printf("TRIANGULO EQUILATERO\n");

}else if(A==B || A==C || B==C && nao_forma==0){

printf("TRIANGULO ISOSCELES\n");

}

return 0;

}

ele retorna com seguinte erro:

/tmp/tmpmiuakszg/27test.cs(2,0): error CS1024: Wrong preprocessor directive /tmp/tmpmiuakszg/27test.cs(3,0): error CS1024: Wrong preprocessor directive /tmp/tmpmiuakszg/27test.cs(3,0): error CS1525: Unexpected symbol `int' Compilation failed: 3 error(s), 0 warnings

Peço Por favor mandem o Código correto pra eu fazer esclarecer onde errei no meu código por favor grande abraço a todos Jesus abençoe vocês todos com amor paz e saúde Boa noite a todos Abraço





0
0

Comentários (3)

0
A

Alfredo Neto

29/05/2021 17:00

Por favor Tira essa duvida por favor tipos de triangulos em .net #C :

// Triângulo


/*

Leia 3 valores reais (A, B e C) e verifique se eles formam ou não um triângulo.

Em caso positivo, calcule o perímetro do triângulo e apresente a mensagem:

Perimetro = XX.X

Em caso negativo, calcule a área do trapézio que tem A e B como base e C como

altura, mostrando a mensagem

Area = XX.X

- Entrada

A entrada contém três valores reais.

- Saída

O resultado deve ser apresentado com uma casa decimal.

*/


using System; 


class minhaClasse {

  static void Main(string[] args) { 

    double a, b, c;

    string[] valor = Console.ReadLine().Split();

     

    a = Convert.ToDouble(valor[0]);

    b = Convert.ToDouble(valor[1]);

    c = Convert.ToDouble(valor[2]);


    if((a<b+c) && (b<a+c) && (c<a+b)) {

      double p = a + b + c;


      Console.WriteLine("Perimetro = {0:0.0}", p);

    } else {

      double area = ((a + b) * c) / 2;


      Console.WriteLine("Area = {0:0.0}", area);

    }

  }

}

Erro:

 0 / 3 Testes de abertos tiveram sucesso.

0
A

Alfredo Neto

29/05/2021 16:59

Código .net:

/**

 Desafio

  Leia 2 valores de ponto flutuante de dupla precisão A e B, 

 que correspondem a 2 notas de um aluno. A seguir, calcule a média 

 do aluno, sabendo que a nota A tem peso 3.5 e a nota B tem peso 7.5 

 (A soma dos pesos portanto é 11). Assuma que cada nota pode ir de 0 

 até 10.0, sempre com uma casa decimal.

 Entrada

  O arquivo de entrada contém 2 valores com uma casa decimal cada um.

 Saída

  Calcule e imprima a variável MEDIA conforme exemplo abaixo, com 5 

 dígitos após o ponto decimal e com um espaço em branco antes e depois 

 da igualdade. Utilize variáveis de dupla precisão (double) e como todos 

 os problemas, não esqueça de imprimir o fim de linha após o resultado, 

 caso contrário, você receberá "Presentation Error".

*/


using System;


class Media1

{

  static void Main(string[] args)

  {

    double A;

    double B;

    double C;

    double D;

    double media;


    A = Convert.ToDouble(Console.ReadLine());

    B = Convert.ToDouble(Console.ReadLine());

    C = Convert.ToDouble(Console.ReadLine());

    D = Convert.ToDouble(Console.ReadLine());

    media = ((A * 34) + (B * 56)) + (C * 44) + (D * 23) / 4;


    Console.WriteLine("MEDIA = " + media.ToString("F5"));

  }

1
D

Diogo Dias

28/05/2021 23:21

Sua solução está escrita em linguagem "C" e não "C#" a lógica esta correta ,mas precisa escrever na linguagem correta.


alfredo gelk neto

Brasil