Kezdőoldal » Számítástechnika » Programozás » Hogy kell? : Kérj be 3 számot,...

Hogy kell? : Kérj be 3 számot, és ellenőrizd le, hogy lehetnek-e 1 háromszög oldalai. Ha igen írd ki melyik szöge mekkora?

Figyelt kérdés
C++
2015. aug. 29. 09:19
 1/7 anonim ***** válasza:

A háromszög egyenlőtlenséget kell megvizsgálni. Tehát ha az oldalak hosszát az a, b, c változóban tároljuk, akkor a+b>c és b+c>a és a+c>b. A szögeket koszinusztételel ki lehet számolni.

[link]

2015. aug. 29. 10:25
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

Most leszek tizedikes így a szögfüggvényt még nem tudom, de: Háromszögnél bármely két oldal összegének nagyobbnak kell lennie a 3. oldal hosszúságánál.

Sajnos én c++ nem tudok, ezért c#-ban:

int oldal1 = int.Parse(Console.ReadLine());

int oldal2 = int.Parse(Console.ReadLine());

int oldal3 = int.Parse(Console.ReadLine());

bool haromszog = false;

if (oldal1 + oldal2 > oldal3)

{

if (oldal1 + oldal3 > oldal2)

{

if (oldal2 + oldal3 > oldal1)

{

haromszog = true;

Console.WriteLine("A háromszög megrajzolható!");

}

}

}

if (haromszog)

{

//Szögfüggvényt kiszámóló kód

}

Console.ReadKey();

2015. aug. 29. 11:32
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

Még egy apróság


a,b,c > 0

2015. aug. 29. 11:35
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:

"Most leszek tizedikes így a szögfüggvényt még nem tudom, de: Háromszögnél bármely két oldal összegének nagyobbnak kell lennie a 3. oldal hosszúságánál.

Sajnos én c++ nem tudok, ezért c#-ban:

int oldal1 = int.Parse(Console.ReadLine());

int oldal2 = int.Parse(Console.ReadLine());

int oldal3 = int.Parse(Console.ReadLine());

bool haromszog = false;

if (oldal1 + oldal2 > oldal3)

{

if (oldal1 + oldal3 > oldal2)

{

if (oldal2 + oldal3 > oldal1)

{

haromszog = true;

Console.WriteLine("A háromszög megrajzolható!");

}

}

}

if (haromszog)

{

//Szögfüggvényt kiszámóló kód

}

Console.ReadKey();"


Egyébként itt felesleges a háromszög vizsgálatra egy logikai változó. Hiszen, ha a te kódodban eljut a legbelső if-be, akkor háromszög. Elég csak egy metódushívás ott.

2015. aug. 29. 13:03
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
Az ÉS operátort érdemes egyébként megismerni.
2015. aug. 29. 13:24
Hasznos számodra ez a válasz?
 6/7 SimkoL ***** válasza:

Gondolom még nem házi feladat :)


C++:


#include <cstdlib>

#include <iostream>

#include <iomanip>

#include <math.h>


using namespace std;


int main()

{

double a, b, c, alfa, beta, gamma, PI = atan(1.0) * 4;

setlocale(LC_ALL, "Hun");

cout << "Kérem az 'a' oldalt: ";

cin >> a;

cout << "Kérem az 'b' oldalt: ";

cin >> b;

cout << "Kérem az 'c' oldalt: ";

cin >> c;

if ((a + b) > c && (a + c) > b && (b + c) > a)

{

alfa = (pow(b, 2) + pow(c, 2) - pow(a, 2)) / (2 * b * c);

beta = (pow(a, 2) + pow(c, 2) - pow(b, 2)) / (2 * a * c);

gamma = (pow(a, 2) + pow(b, 2) - pow(c, 2)) / (2 * a * b);

cout << fixed << setprecision(2) << "a oldal: " << a << " alfa szög: " << acos(alfa) * 180 / PI << " fok" << endl;

cout << "b oldal: " << b << " béta szög: " << acos(beta) * 180 / PI << " fok" << endl;

cout << "c oldal: " << c << " gamma szög: " << acos(gamma) * 180 / PI << " fok" << endl;

}

else

cout << "A háromszög nem szerkeszthető meg !" << endl;

system("PAUSE");

return 0;

}


Pascal:


program Project2;


uses SysUtils, Math;


var a, b, c, alfa, beta, gamma: double;


begin

Write('Kérem az "a" oldalt: ');

ReadLn(a);

Write('Kérem az "b" oldalt: ');

ReadLn(b);

Write('Kérem az "c" oldalt: ');

ReadLn(c);

if ((a + b) > c) and ((a + c) > b) and ((b + c) > a) then

begin

alfa := (Sqr(b) + Sqr(c) - Sqr(a)) / (2 * b * c);

beta := (Sqr(a) + Sqr(c) - Sqr(b)) / (2 * a * c);

gamma := (Sqr(a) + Sqr(b) - Sqr(c)) / (2 * a * b);

WriteLn('a oldal: ', a: 6: 2, ' alfa szög: ', RadToDeg(ArcCos(alfa)): 6: 2, ' fok');

WriteLn('b oldal: ', b: 6: 2, ' béta szög: ', RadToDeg(ArcCos(beta)): 6: 2, ' fok');

WriteLn('c oldal: ', c: 6: 2, ' gamma szög: ', RadToDeg(ArcCos(gamma)): 6: 2, ' fok');

end

else

WriteLn('A háromszög nem szerkeszthető meg !');

ReadLn;

end.

2015. aug. 29. 20:18
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
Az egyenlőtlenség mellett még azt is vizsgáld, hogy mindhárom szám pozitív legyen, mert még egy vicces kedvű felhasználó negatív számokat fog bepötyögtetni.
2015. szept. 1. 14:17
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!