[c++] Warunek trójkąta
-
- Użytkownik
- Posty: 209
- Rejestracja: 13 lip 2012, o 14:32
- Płeć: Kobieta
- Lokalizacja: Pcim
- Podziękował: 107 razy
[c++] Warunek trójkąta
Proszę o pomoc w napisaniu programu:
Napisz program, który wczyta z klawiatury długości trzech odcinków w postaci liczb rzeczywistych \(\displaystyle{ a, b}\) i \(\displaystyle{ c}\) i ustawia je w porządku niemalejącym, tj. zamienia je miejscami tak, by \(\displaystyle{ a \le b \le c}\). Następnie należy dokonać sprawdzenia, czy da się z nich stworzyć trójkąt. Odpowiednią informację (TAK/NIE) wypisujemy w konsoli.
Wskazówka. Warunek trójkąta: długość najdłuższego odcinka jest mniejsza niż suma długości dwóch pozostałych.
Dodatkowo, w przypadku, gdy z danych długości odcinków trójkąt da się zbudować, możesz podać na ekranie informację, czy jest to trójkąt prostokątny, tzn. czy kwadrat najdłuższego boku jest równy sumie kwadratów pozostałych.
Z góry dziękuję za pomoc!
Napisz program, który wczyta z klawiatury długości trzech odcinków w postaci liczb rzeczywistych \(\displaystyle{ a, b}\) i \(\displaystyle{ c}\) i ustawia je w porządku niemalejącym, tj. zamienia je miejscami tak, by \(\displaystyle{ a \le b \le c}\). Następnie należy dokonać sprawdzenia, czy da się z nich stworzyć trójkąt. Odpowiednią informację (TAK/NIE) wypisujemy w konsoli.
Wskazówka. Warunek trójkąta: długość najdłuższego odcinka jest mniejsza niż suma długości dwóch pozostałych.
Dodatkowo, w przypadku, gdy z danych długości odcinków trójkąt da się zbudować, możesz podać na ekranie informację, czy jest to trójkąt prostokątny, tzn. czy kwadrat najdłuższego boku jest równy sumie kwadratów pozostałych.
Z góry dziękuję za pomoc!
Ostatnio zmieniony 13 paź 2012, o 10:58 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
-
- Użytkownik
- Posty: 209
- Rejestracja: 13 lip 2012, o 14:32
- Płeć: Kobieta
- Lokalizacja: Pcim
- Podziękował: 107 razy
[c++] napisz program
Nigdy wcześniej nie programowałam, więc dla mnie zdecydowanie nie jest prosty. Nie wiem chociażby, jak pozamieniać miejscami a, b, c, żeby a <= b <= c. Pewnie coś z funkcją if, np. if c <= a lub b (tylko też nie wiem jak to zapisać i jak mu kazać to pozamieniać).
Na razie mam to:
Na razie mam to:
Kod: Zaznacz cały
#include iostream
using namespace std;
int main()
{
cout << "dlugosc odcinka a:" << endl;
cin >> a;
cout << "dlugosc odcinka b:” << endl;
cin >> b;
cout << „długość odcinka c:” << endl;
cin >> c;
system("pause");
return 0;
}
Ostatnio zmieniony 15 paź 2012, o 16:48 przez Althorion, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
-
- Użytkownik
- Posty: 363
- Rejestracja: 24 sie 2012, o 09:27
- Płeć: Mężczyzna
- Lokalizacja: Cieszyn
- Pomógł: 80 razy
[c++] napisz program
A potrafisz napisać przepis jak to uporządkować normalnymi słowami. Mając do dyspozycji
Czyli napisać kilka kroków takiej postaci pisząc zamiast x i y: a, b lub c?
Jeśli x<y to zamień x z y.
Czyli napisać kilka kroków takiej postaci pisząc zamiast x i y: a, b lub c?
- dawid.barracuda
- Użytkownik
- Posty: 1766
- Rejestracja: 11 paź 2009, o 19:01
- Płeć: Mężczyzna
- Lokalizacja: Gryfice\Warszawa
- Podziękował: 480 razy
- Pomógł: 94 razy
[c++] napisz program
Program wygląda tak:
Pytaj śmiało jeśli coś niejasne.
Kod: Zaznacz cały
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
const int n = 3;
float tab[3];
int j = 0;
cout << "Wprowadz dlugosci poszczegolnych bokow trojkata: " << endl;
cin >> tab[0] >> tab[1] >> tab[2];
do
{
for(int i = 0; i < n-1; i++)
{
if(tab[i] > tab[i+1]) swap(tab[i], tab[i+1]);
else continue;
} j++;
}while(j < n);
cout << "Trojkat ma boki: " << endl;
for(int i = 0; i < n; i++)
{
cout << "Bok nr: " << i + 1 << " ma dlugosc: " << tab[i] << endl;
}
if(tab[2] < tab[0] + tab[1])
{
cout << "Z podanych odcinkow da sie zbudowac trojkat. ";
if(tab[2]*tab[2] == tab[0]*tab[0] + tab[1]*tab[1]) cout << "Zbudowany trojkat jest prostokatny." << endl;
else cout << "Zbudowany trojkat nie jest prostokatny." << endl;
cout << endl;
}
else cout << "Z podanych bokow nie da sie zbudowac trojkata." << endl << endl;
system("pause");
return 0;
}
-
- Użytkownik
- Posty: 363
- Rejestracja: 24 sie 2012, o 09:27
- Płeć: Mężczyzna
- Lokalizacja: Cieszyn
- Pomógł: 80 razy
[c++] napisz program
Jeśli nie do końca rozumiesz ten gotowiec to możesz próbować dojść do rozwiązania. Pierwszy krok to to co napisałem poprzednio.
- dawid.barracuda
- Użytkownik
- Posty: 1766
- Rejestracja: 11 paź 2009, o 19:01
- Płeć: Mężczyzna
- Lokalizacja: Gryfice\Warszawa
- Podziękował: 480 razy
- Pomógł: 94 razy
[c++] napisz program
Zamiast a, b, c użyłem tablicy trzyelementowej rodzaju zmiennoprzecinkowego. Linijki 15-22 to nic innego jak zwykłe sortowanie bąbelkowe, które spokojnie można tu użyć, bo są tylko trzy elementy. Linijki 24-28 to wyświetlenie już posegregowanych boków trójkąta.
-
- Użytkownik
- Posty: 209
- Rejestracja: 13 lip 2012, o 14:32
- Płeć: Kobieta
- Lokalizacja: Pcim
- Podziękował: 107 razy
[c++] Warunek trójkąta
Dziękuję bardzo za pomoc!
W końcu udało mi się zrobić trochę inaczej, z bardziej podstawowymi poleceniami (if (a>b), temp a, a=b, temp b itd...), bo nie wiedziałam do końca jak działają tablice i co to jest sortowanie bąbelkowe
W końcu udało mi się zrobić trochę inaczej, z bardziej podstawowymi poleceniami (if (a>b), temp a, a=b, temp b itd...), bo nie wiedziałam do końca jak działają tablice i co to jest sortowanie bąbelkowe
- dawid.barracuda
- Użytkownik
- Posty: 1766
- Rejestracja: 11 paź 2009, o 19:01
- Płeć: Mężczyzna
- Lokalizacja: Gryfice\Warszawa
- Podziękował: 480 razy
- Pomógł: 94 razy
[c++] Warunek trójkąta
Tablice to nic innego jak szereg zmiennych tego samego typu zapisanych w jednej linijce Jak chcesz np. utworzyć 10 zmiennych typu int to nie musisz deklarować 10 razy tej zmiennej z inną nazwą tylko deklarujesz zmienną tablicową 10cioelementową. Prościej i wygodniej. Np.: tablica dziesięcioelementowa typu int to w zasadzie to samo co 10 zmiennych typu int, tylko zapisuje się to tak:
Pamiętaj tylko, że numerowanie zaczynamy od zera. Pomaga przy zapamiętaniu tego stwierdzenie, że "programista liczy od zera".
Nazwa poszczególnej zmiennej z tych 10 to nr jej komórki. Czyli jak chcesz przykładowo przypisać wartość liczbową do pierwszej zmiennej z tej tablicy to robisz tak:
Co do sortowania to odsyłam do Wiki, jest tam super obrazowo pokazane na przykładzie na czym to polega. Nie jest to wcale trudne.
Kod: Zaznacz cały
int nazwa_tablicy[liczba_elementow]
Nazwa poszczególnej zmiennej z tych 10 to nr jej komórki. Czyli jak chcesz przykładowo przypisać wartość liczbową do pierwszej zmiennej z tej tablicy to robisz tak:
Kod: Zaznacz cały
tab[0] = wartosc