Pisanie programu na przekątną prostokąta

0

Witam!
Napisze mi ktoś prosty program na obliczanie przekątnej prostokąta z użyciem instrukcji sqrt, bez użycia if i else.
zaczynam się dopiero uczyć języka C++. Mam polecenie do ćwiczenia:
Utwórz progam do obliczenia długości przekątnej prostokąta dla danych długości bokow a,b.

Próbuje napisać ten program:

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;

int a,b,p;

int main() {
cout<<"oblicz dlugosc przekatnej prostokata :"<<endl;
cout<<"podaj pierwszy bok prostokata : " , cin>>a;
cout<<"podaj drugi bok prostokata : ", cin>>b;
cin>>p=sqrt(2);
return 0;
}

Czy mógłby mi ktoś poprawić coś?

w tej linijce mam jakiś błąd : cin>>p=sqrt(2);

0

Ehmm... jaki jest wzór do policzenia przekątnej? Na pewno nie jest to
c = pierwiastek z 2
Może :
c = pierwiastek z (a*a)+(b*b)
(Zastąpiłem a^2 dając zamiast tego a*a, żeby nie wprowadzać dodatkowych oznaczeń)
Drugie, kolejne polecenia w C++ oddzielaj średnikami, żadne przecinki
Trzecie, jak obliczysz c, to je wyświetl (na pewno nie służy do tego cin )
Czwarte, zmienne staraj się umieszczać wewnątrz funkcji, a nie przed nią (na razie nie robi Ci to różnicy, ale potem będzie z tym dużo problemów)
Piąte, jak wklejasz na forum, skorzystaj z znaczników do wklejania kodu w c++, będzie dużo czytelniej. :)

Btw. Imo temat bardziej pasuje do działu Newbie

0

napisal byś mi ten program?

0

zaczynam się dopiero uczyć języka C++

Jak Ci go wyślę, to się nie nauczysz. Jest na tyle prosty, że póki tego nie uda Ci się samodzielnie napisać, to nie ma nawet sensu próbować iść dalej...

0

Więc tak, jest pare błedów:

  1. Tak jak wspomniał Zellus, zmienne delakruj w mainie, nie poza nim.
  2. Tak jak wspomniał Zellus, jedna instrukcja jedna linijka, oddzielamy ;
  3. a i b to boki, mogą być całkowite. p to przekatna, ona nie będzie całkowita, a masz ją zadeklarowaną jako int.
  4. Kompilator dobrze wskazuje, ze w tej linii jest błąd. Cin służy do wprowadzania danych z klawiatury do zmiennej. a Ty w tej linijce próbujesz do zmiennej p wpisać naraz i cos z klawiatury i ze wzoru naraz.
  5. Jaki konkretnie pojawia się bład w tej linijce? Bo na "jakoś błąd" to mozna tylko odpisać "to jakoś go popraw"
0

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int a,b,p;

int main()
{
cout<<"oblicz dlugosc przekatnej prostokata :"<<endl;
cout<<"podaj pierwszy bok prostokata : " ; cin>>a;
cout<<"podaj drugi bok prostokata : "; cin>>b;
p = ((aa)+(bb));
return 0;
}

napisałem takie coś, co zrobić żeby wyświetlić wynik?

0
 cout << "Przekatna: " << p << endl; 

Btw, zgubiłeś sqrt, możesz dać ew.

 cout << "Przekatna: " << sqrt(p) << endl; 
0

@dzordi94:
d=\sqrt{a<sup>2+b</sup>2}
!

Poza tym imo powinieneś wrócić do samych podstaw, bo ewidentnie widać, że brakuje Ci elementarnej wiedzy z zakresu C++.

0

dzięki wielkie!

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int a,b,p;

int main()
{
cout<<"oblicz dlugosc przekatnej prostokata :"<<endl;
cout<<"podaj pierwszy bok prostokata : " ; cin>>a;
cout<<"podaj drugi bok prostokata : "; cin>>b;
p = ((aa)+(bb));
cout << "Przekatna: " << sqrt(p) << endl;
return 0;
}

0

Jeżeli już, to:

p = sqrt(a*a + b*b);
cout << p << endl;
  • po co te trzy zmienne są globalne? :|

1 użytkowników online, w tym zalogowanych: 0, gości: 1