Дължина на кабел между два блока

Напишете програма, която при дадена височина на два блока и разстояние между тях пресмята дължината на кабела за Интернет, който ще е необходим, за да се свържат покривите им с кабел, опънат до права линия между тях.

Публикувано в 10a, 10б с етикети . Постоянна връзка.

2 Responses to Дължина на кабел между два блока

  1. Явор Войнов каза:
    #include <iostream>
    #include <math.h>
    #include <iomanip>
    using namespace std;
    
    int main()
    {
       double vblok1, vblok2, vblokr, razs, kabel;
       cout<<"Visochina na blok 1 v metri: \n";
       cin>>vblok1;
       cout<<"Visochina na blok 2 v metri: \n";
       cin>>vblok2;
       cout<<"Razstoqnie mejdu dvata bloka v metri: \n";
       cin>>razs;
    
       if (vblok1>vblok2) {
       vblokr=vblok1-vblok2;
       kabel=(pow(vblokr, 2)+ pow(razs, 2));
       cout<<setiosflags(ios::fixed)
            <<setprecision(1)
            <<"Ot Almusa 6te trqbva da opynat "<<sqrt(kabel)<<" metra jica. :) \n";
       }
        else if (vblok1<vblok2) {
       vblokr=vblok2-vblok1;
       kabel=(pow(vblokr, 2) + pow(razs , 2));
       cout<<setiosflags(ios::fixed)
            <<setprecision(1)
            <<"Ot Almusa 6te trqbva da opynat "<<sqrt(kabel)<<" metra jica. :) \n";
        }
        else    {
            kabel=razs;
        cout<<"Ot Almusa 6te trqbva da opynat "<<kabel<<" metra jica. :) \n";
        }
        return 0;
    }
    
    • Данаил каза:

      Хаха, добре! Само дето Алмус.НЕТ вече не съществуват :-) Препоръките: Задачата е много добре направена, но може още малко да се оптимизира и опрости – виж кое се повтаря. За повдигане на квадрат може да се ползва и vblokr*vblokr – изглежда по-просто и (доколкото съм чел) е по-бързо. Понеже ще се повдига на квадрат, общо взето не те интересува кой от двата блока е по-висок. А иначе може да ползваш и функцията fabs().

Вашият коментар