Wątek przeniesiony 2018-03-12 13:33 z C/C++ przez kq.

Funkcja nie jest obliczana dla x > 10

0

Witajcie, jestem kompletnie zielony w programowaniu. Dopiero miałem drugie zajęcia. Napisałem program, wszystko według mnie wygląda okej jednak nie liczy funkcji dla x>10. Może ktoś mi powie gdzie jest błąd? Będę bardzo wdzięczny za pomoc.

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    float i, N, S, alfa, P, a, b, Pi, y, x0, h, k, x;
    cout << "podaj liczbe N= ";
    cin >> N;
    S = 0;
    for (i = 1; i <= N; i++)

    {
        S = S + (i + 1.0) / (2 * i * i + 1);
    }
    cout << "S=" << S << endl;

    cout << "Podaj dlugosc pierwszego boku: ";
    cin >> a;
    cout << "Podaj dlugosc drugiego boku: ";
    cin >> b;
    cout << "Podaj kat w stopniach pomiedzy tymi bokami: ";
    cin >> alfa;
    alfa = alfa * (M_PI / 180);
    P = 0.5 * a * b * alfa;
    cout << "P=" << P << endl;

    cout << "Podaj x0= ";
    cin >> x0;
    cout << "Podaj h= ";
    cin >> h;
    cout << "Podaj k= ";
    cin >> k;
    for (i = 0; i <= k; i++)

    {
        x = x0 + i * h;
        if (x >= -10 and x <= 10) {
            y = 0.75 * x * x + 1;
            cout << "funkcja y=" << y << " "
                 << "dla x= " << x << endl;
            {
                if (x > 10) {
                    y = 0.5 * x;
                    cout << "funkcja y=" << y << " "
                         << "dla x= " << x << endl;
                    {
                        if (x < -10) {
                            y = cos(x);
                            cout << "funkcja y=" << y << " "
                                 << "dla x= " << x << endl;
                        }
                    }
                }
            }
        }
    }
    return 0;
}

0

debugowales kod? I dlaczego nie?

if (x >= -10 and x <= 10) {

jezeli x jest wieksze od 10 to ten if sie nie wykona

0

Debugowałem ten kod, nie wyskoczyły żadne błędy. Czyli co muszę poprawić?

0

Debugowałem ten kod, nie wyskoczyły żadne błędy
co najwyzej kompilowales jezeli chodzi Ci ze mialy wyskoczyc jakies bledy...
Debugowanie nie polega na kompilowaniu

Ty mowisz, ze jezeli x jest wieksze od 10 to kod sie nie wykona...
A ja Ci pokazuje ktora linijka kodu za to odpowiada
x >= -10 and x <= 10

Skad mam wiedziec co masz poprawic skoro nie mam bladego pojecia co ten kod ma robic (tylko Ty wiesz, bo nic o tym nie napisales)

0

Obliczyć wartości funkcji f(x) dla x= x0+ih, gdzie i=0, 1, ..., K Dane: x0, h-typu rzeczywistego, K –typu całkowitego f(x)= 0.75xx+1 dla x<-10,10> F(x)=0.5x dla x>10 f(x)=cos(x) dla x<-10 i wypisać obliczone wartości.

0

Takie było moje polecenia, a o tym debugowaniu muszę w takim razie poczytać.

0

no i masz warunek dla x pomiedzy -10 a 10. Teraz musisz dodac else if i else. Jeden dla powyzej 10 i tam zrobic logike a dla else po prostu wyswietlic wszystkie dane

0

Czyli te if'y prze tych warunkach x>10 i przy x<-10 zamienić if else i else?

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