C/C++

A

apidrone

Гостин
Ајде некој ако знае нека постира кои се услови постојат за геометриски тела во C++ односно на пример кој е условот ако внесеме 3 вредности за страните на еден триаголник и да се испечати дали триаголникот е правоаголен, и дали има некои услови за други геометриски тела како кружница, квадрат и слично и какви услови таму би можело да се искористат
Не сум сигурен дека преку страните може да се определи дали триаголникот е правоаголен... Ако внесуваш агли, тоа е веќе нешто друго :) Прво, за да биде триаголник, мора збирот на аглите (збориме за внатрешните агли) да биде 180 степени. Ако е ова исполнето, тогаш може да се провери (во некој внатрешен блок), дали еден од аглите е 90 степени. Ако постои таков агол, триаголникот е правоаголен.
Сеа за кружница не знам конкретно што би можело да се искористи, али како што ти кажа mreza, тоа е математика, кодот е само имплементација.
 
Член од
15 мај 2010
Мислења
540
Поени од реакции
72
Абе имаше оние правила САС(Страна - Агол - Страна), ССС.. Или како беа, ама не ги знам кои беа за што.
 

Хептаграм XI

Ἱερὸς Γάμος
Член од
13 февруари 2010
Мислења
12.183
Поени од реакции
12.158
Зарем не треба да е исполнето c^2=a^2+b^2 за да е правоаголен триаголникот?
Значи потребни се 3 услови за да се провери за секоја страна дали е хипотенуза или не!

Мислам дека е можно вака!
 
A

apidrone

Гостин
Абе имаше оние правила САС(Страна - Агол - Страна), ССС.. Или како беа, ама не ги знам кои беа за што.
Абе тоа е за сличност :)
Зарем не треба да е исполнето c^2=a^2+b^2 за да е правоаголен триаголникот?
Значи потребни се 3 услови за да се провери за секоја страна дали е хипотенуза или не!

Мислам дека е можно вака!
И ја на тоа мислев, али пак треба да проверуваш дали е воопшто триаголник... Размислував за пооптимално решение, али никако да ми текне!
 
Член од
15 мај 2010
Мислења
540
Поени од реакции
72
Незнам, никако не ми излегува, пробав и со Питагорина, и незнам.. Ај ако ја знае некој нека ја реши, ме интересира како е..
Мислам дека и неможе да се најде само со страните :D
 

Limbo

maybe an alien
Член од
26 декември 2007
Мислења
835
Поени од реакции
1.471
Незнам, никако не ми излегува, пробав и со Питагорина, и незнам.. Ај ако ја знае некој нека ја реши, ме интересира како е..
Мислам дека и неможе да се најде само со страните :D
Може да се најде само со страните, затоа што со истите страни постои само еден таков триаголник со такви агли.

Код:
#include <iostream>
using namespace std;

int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    
    int s1=b,s2,h=a;
    if(b>a){
    h=b;
    s1=a;}
    if(c>h){
    h=c;
    s1=b;}
    s2=(a+b+c)-h-s1;
    
    if(a+b<=c||a+c<=b||b+c<=a){
    cout<<"Ne postoi takov triagolnik!"<<endl<<endl;
    }
    else{
    if(h*h==s1*s1+s2*s2)
    cout<<"Da, triagolnikot e pravoagolen"<<endl<<endl;            
    else
    cout<<"Triagolnikot ne e pravoagolen"<<endl<<endl;
    }

    system("PAUSE");
    return 0;
}


--- надополнето ---

Ке ве замолам доколку некој сака да ги реши следните задачки во C++
1.Да се напише програма во која од тастатура се внесуваат вредности за страните на еден триаголник и да се провери дали триаголникот е рамностран, рамнокрак или разностран. Забелешка: Внесените вредности не се подредени по големина.
2.Да се напише програма која испитува дали дадена точка со координати (x ,y) се наоѓа внатре во, лежи на или надвор од кружницата со центар во (a,b) и радиус R.
3.Да се напише програма во која од тастатура се внесува трицифрен број, и се печатат цифрата на стотки, десетки и единици, со соодветно форматирање на излез. Доколку не е внесен број да се отпечати Ne vnesovte broj, а доколку е внесен број кој не е трицифрен, да се отпечати Ne vnesovte tricifren broj. Фала позз :smir:
2.
Код:
#include <iostream>
using namespace std;

int main()
{
    int a,b,r,x,y;
    cin>>a>>b>>r>>x>>y;
    
    cout<<"Tockata "<<x<<","<<y;
    if((x-a)*(x-a)+(y-b)*(y-b)==r*r)
    cout<<" lezi na kruznicata";
    else if((x-a)*(x-a)+(y-b)*(y-b)<r*r)
    cout<<" se naoga vnatre vo kruznicata";
    else
    cout<<" se naoga nadvor od kruznicata";
    
    cout<<" so centar vo "<<a<<","<<b<<" i radius "<<r<<endl<<endl; 

    system("PAUSE");
    return 0;
}
 
A

apidrone

Гостин
Може да се најде само со страните, затоа што со истите страни постои само еден таков триаголник со такви агли.

Код:
    int s1=b,s2,h=a;
    if(b>a){
    h=b;
    s1=a;}
    if(c>h){
    h=c;
    s1=b;}
    s2=(a+b+c)-h-s1;
Ќе може малце кодот да го објасниш?
Иначе, ако внесуваш целобројни изрази, триаголникот е правоаголен само за тн. Питагорини тројки.
 

Limbo

maybe an alien
Член од
26 декември 2007
Мислења
835
Поени од реакции
1.471
Ќе може малце кодот да го објасниш?
Иначе, ако внесуваш целобројни изрази, триаголникот е правоаголен само за тн. Питагорини тројки.
може, можеби набрзина го напишав кодот и несредено баш..

Код:
int s1=b,s2,h=a;
s1 е едната катета (претпоставка) и ја зема вредноста на b
h е хипотенузата и под предпоставка ја зема дека е страната a
s2 уште ништо засега..

Код:
if(b>a){
    h=b;
    s1=a;}
ако b>a, тогаш се зема b за хипотенуза (засега), во тој случај b не може да биде катета, па s1=a

Код:
 if(c>h){
    h=c;
    s1=b;}
ако c>h (c поголемо од досегашната претпоставка за хипотенуза) хипотенуза станува c (h=c)
тогаш c не може да биде катета па s1=b;

значи најголемата страна е хипотенуза, и ја имаме едната катета.
За да ја добиеме другата ја ги одземаме хипотенузата и катетата од збирот на страните:

Код:
s2=(a+b+c)-h-s1;
после со питагорова теорема се проверува дали е правоаголен триаголникот.
ако не се целобројни изрази ќе се сменат само декларациите и тоа..
 

Bibo

Модератор
Член од
9 април 2006
Мислења
4.126
Поени од реакции
3.991
А кај може Ц да се симне (не Ц++)? :)

Фала и од мене (однапред) :)
 

Kajgana Shop

На врв Bottom