co robie źle

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).

Kopiuj
#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
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:4 dni
  • Lokalizacja:Szczecin
4

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


1

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

Zobacz przykład:

Kopiuj
     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";
     }
0

Do czego służy zmienna a ?

Czarny Orzełek

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
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?

Kopiuj
    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
kq
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.
Xupicor
Jak wyżej - i tak nie grałyby roli. Tylko ten ostatni test bym sobie darował - bo niepotrzebny.
0

temat do usuniecia

pylaochos
  • Rejestracja:ponad 13 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Warszawa
  • Postów:85
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.