co robie źle

Odpowiedz Nowy wątek
2016-10-31 09:40
Świetny Krawiec
0

//Napisać program, który dla wczytanych z klawiatury liczby rzeczywistej a i liczby całkowitej k umieszcza w zmiennej pochodna wartość k-tej pochodnej funkcji sin(x).Metoda:
//dla (k % 4)=0 : sin(k) (x) = sin(x),
//dla (k % 4)=1 : sin(k) (x) = cos(x),
//dla (k % 4)=2 : sin(k) (x) = -sin(x),
//dla (k % 4)=3 : sin(k) (x) = -cos(x).

#include <stdio.h>
#include <stdlib.h>

int pochodna(int a, int k)
{
    if ((k % 4) == 0) // : sin(k)(x) = sin(x))
        return sin(k);
    else
    {
        if ((k % 4) == 1) //: sin(k) (x) = cos(x))
            return cos(k);

        else
        {
            if ((k % 4) == 2) //: sin(k) (x) = -sin(x))
                return -sin(k); //

            else
            {

                if ((k % 4) == 3) //: sin(k) (x) = -cos(x);

                    return -cos(k);
            }
        }

        int main()
        {
            int k;
            float a;

            printf("podaj liczbe rzeczywista a");
            scanf("%f", &a);
            printf("podaj liczbe calkowita k");
            scanf("%d", &k);
            printf("pochodna wynosi %d", pochodna(a, k));

            return 0;
        }
    }
edytowany 1x, ostatnio: kq, 2016-12-13 18:26

Pozostało 580 znaków

2016-10-31 09:42
kq
4

Po poprawnym sformatowaniu kodu odpowiedź na pytanie staje się trywialna. Na przyszłość polecam: Dlaczego nikt nie odpowiada w moim wątku?


Pozostało 580 znaków

2016-10-31 09:43
Czarny Orzełek
1

Do konstrukcji if-else podszedłeś jakoś bardzo dziwnie.

Zobacz przykład:

     int a,b,c;
     a = b = 10;
     c = 100;
     if (a > b)
     {
         cout<<"a jest większe od b";
     }
     else if (a == b)
     {
         cout<<"a jest równe b";
     }
     else if (a < c)
     {
         cout<<"a jest mniejsze od c";
     }
     else if (a > c)
     {
         cout<<"a jest większe od c";
     }

Pozostało 580 znaków

2016-10-31 09:46
Czarny Orzełek
0

Do czego służy zmienna a ?

Czarny Orzełek

Pozostało 580 znaków

2016-10-31 10:26
0

Polecam uważne przeczytanie treści zadania

umieszcza w zmiennej pochodna wartość k-tej pochodnej

Mam pytanie laika, czy jakieś wzorce (dobre zwyczaje) nakazują użycie else?

    if ((k % 4) == 0) // : sin(k)(x) = sin(x))
        return sin(a);
    if ((k % 4) == 1) //: sin(k) (x) = cos(x))
         return cos(a);
    if ((k % 4) == 2) //: sin(k) (x) = -sin(x))
         return -sin(a); //
    if ((k % 4) == 3) //: sin(k) (x) = -cos(x);
         return -cos(a);

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 2x, ostatnio: bogdans, 2016-10-31 13:57
Tutaj bym użył switcha w ogóle. Jak są bezwzględne returny to nie wiem czy else musi być obowiązkowe, wg mnie nie. - kq 2016-10-31 11:22
Jak wyżej - i tak nie grałyby roli. Tylko ten ostatni test bym sobie darował - bo niepotrzebny. - Xupicor 2016-10-31 11:59

Pozostało 580 znaków

2016-10-31 13:55
Czarny Samiec
0

temat do usuniecia

Pozostało 580 znaków

2016-10-31 16:58
0

Wstawiłeś funkcje main do innej funkcji. Wyjmij ją.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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