• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie w C++

Object Storage Arubacloud
+1 głos
355 wizyt
pytanie zadane 11 lutego 2022 w C i C++ przez DiAbLoXi06 Nowicjusz (130 p.)
Zadanie 1

Napisz program, który obliczy sumę pól dwóch trójkątów
Użyj funkcji zwracającej

 

Zadanie 2

Napisz program zliczajacy liczby ujemne
wśród n podanych liczb np. podaje z klawiatury 3 liczby i
program zlicza, dwie ujemne.
Zastosuj w programie funkcje

Proszę bardzo o pomoc nie rozumiem wogóle jak robić te funkcje :(
komentarz 12 lutego 2022 przez VBService Ekspert (253,340 p.)

nie rozumiem wogóle jak robić te funkcje

Sprawdź: Funkcje w c++

komentarz 15 lutego 2022 przez VBService Ekspert (253,340 p.)
edycja 15 lutego 2022 przez VBService

@DiAbLoXi06, 

Jak już @Oscar; wspomniał w zadaniu pierwszym 

W pierwszym zadaniu nie ma ani słowa o tym, że program ma liczyć pole trójkąta. Może po prostu poprosić o podanie pola pierwszego trójkąta, potem drugiego i wypisać sumę. To spełnia warunki zadania.

 

jest mowa bardziej o dodaniu do siebie dwóch wartości, czyli np.

 

przykład  [ on-line ]

#include <iostream>
using namespace std;

double sumaPol(double p1, double p2)
{
    return p1 + p2;
}

int main()
{
    double pole1 = 0, pole2 = 0;
    
    cout << "Podaj wartosc pola pierwszego trojkata: ";
    cin >> pole1;
    cout << "Podaj wartosc pola drugiego trojkata: ";
    cin >> pole2;
    
    cout << "Suma pol trojkatow wynosi " << sumaPol(pole1, pole2) << endl;

    return 0;
}

 

lub

 

przykład  [ on-line ]

#include <iostream>
using namespace std;

double sumaPol(double p1, double p2)
{
    if (p1 <=0 || p2 <=0) return 0;
    return p1 + p2;
}

int main()
{
    double pole1 = 0, pole2 = 0;
    
    cout << "Podaj wartosc pola pierwszego trojkata: ";
    cin >> pole1;
    cout << "Podaj wartosc pola drugiego trojkata: ";
    cin >> pole2;
    
    cout << "Suma pol trojkatow wynosi " << sumaPol(pole1, pole2) << endl;

    return 0;
}

 

2 odpowiedzi

0 głosów
odpowiedź 11 lutego 2022 przez wizarddos Nałogowiec (25,930 p.)

Co do pierwszego zadania to tworzysz funkcję liczącą pole trójkąta ze wzoru i to co funkcja zwróci dodajesz

 

W 2 to przydadzą Ci się pętle i wektory

Jeśli oczekujesz kodu gotowego to trafiłeś w złe miejsce

2
komentarz 11 lutego 2022 przez Oscar Nałogowiec (29,320 p.)
W pierwszym zadaniu nie ma ani słowa o tym, że program ma liczyć pole trójkąta. Może po prostu poprosić o podanie pola pierwszego trójkąta, potem drugiego i wypisać sumę. To spełnia warunki zadania.

Nie wiem co to jest "funkcja zwracająca" (aczkolwiek się domyślam).
1
komentarz 15 lutego 2022 przez VBService Ekspert (253,340 p.)
edycja 15 lutego 2022 przez VBService

@wizarddos, skoro jest

... wśród n podanych

W 2 to przydadzą Ci się pętle i wektory

wystarczy też "zwykła" tablica, gdy zapytamy "na początku" użytkownika o podanie wartość n, np.

#include <iostream>
using namespace std;

int main()
{
    int n = 0;
    cout << "Ile liczb chcesz podac? ";
    cin >> n;
    int *tab = new int[n];

    // ... reszta kodu
    for (int i=0; i<n; i++)
    {
        tab[i] = ...;
    }


    delete[] tab;
    return 0;
}

 

–2 głosów
odpowiedź 15 lutego 2022 przez Irene46958 Nowicjusz (140 p.)
#include <iostream>

using namespace std;

double sumaPol(double podstawa1, double wysokosc1, double podstawa2, double wysokosc2) {
    double pole1 = 1 / 2. * podstawa1 * wysokosc1;
    double pole2 = 1 / 2. * podstawa2 * wysokosc2;
    return pole1 + pole2;
}

int main() {
    double suma = sumaPol(5.2, 3.2, 6.3, 4.3);
    cout << suma << "\n";
    return 0;
}

Trochę nieporządnie zrobione, ale zamysł taki jak na górze.

Deklarujesz zmienną suma, przypisujesz jej wartość funkcji sumaPol (funkcja musi być typu double, bo zwracana jest wartość typu double), czyli to co sobie w tej funkcji obliczyłeś. na koniec wypisujesz wartość zmiennej suma.

#include <iostream>

using namespace std;

int liczbyUjemne(int iloscLiczb) {
    double liczba;
    int licznik = 0;
    for (int i = 0; i < iloscLiczb; ++i) {
        cout << "Podaj liczbe: ";
        cin >> liczba;
        if (liczba < 0.) {
            licznik++;
        }
    }
    return licznik;
}

int main() {
    int iloscLiczb;
    cout << "Podaj ilosc liczb: ";
    cin >> iloscLiczb;
    if (iloscLiczb > 0) {
        int iloscLiczbUjemnych = liczbyUjemne(iloscLiczb);
        cout << "Podales " << iloscLiczbUjemnych << " liczb ujemnych.\n";
    }
    else {
        cout << "Podales liczbe mniejsza od zera.\n";
    }
    return 0;
}

Najpierw prosisz użytkownika o podanie ilości liczb. Sprawdzasz, czy liczba podana przez użytkownika jest większa od zera (na wszelki wypadek jakby podał ujemną). Jeśli jest większa od zera to deklarujesz zmienną iloscLiczbUjemnych i w funkcji liczbyUjemne sobie zliczasz do zmiennej licznik liczby ujemne, zwracasz tę zmienną licznik. Przypisujesz wartość zwracaną do zmiennej iloscLiczbUjemnych. Na koniec sobie wypisujesz iloscLiczbUjemnych.

Podobne pytania

0 głosów
1 odpowiedź 135 wizyt
pytanie zadane 9 września 2023 w C i C++ przez Bartek7630 Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 260 wizyt
pytanie zadane 28 grudnia 2022 w C i C++ przez benny13 Obywatel (1,150 p.)
0 głosów
1 odpowiedź 368 wizyt
pytanie zadane 30 listopada 2022 w C i C++ przez Pysa6 Nowicjusz (220 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...