Napisz program, który pobiera wartość zmiennej C z klawiatury a następnie na ekranie wypisuje wartość obliczoną ze wzoru.

Napisz program, który pobiera wartość zmiennej C z klawiatury a następnie na ekranie wypisuje wartość obliczoną ze wzoru.
Jakub Mańkiewicz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Zrzut ekranu 2023-10-09 103117.png

Ktoś podpowie jak wykonać poprawnie ten wzór w języku C?

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5676
3

A co już masz napisane?

Ktoś podpowie jak wykonać poprawnie ten wzór w języku C?

można podzielić to na trzy podproblemy:

  1. wczytanie liczny z klawiatury

  2. policzenie wartości

  3. wypisanie rezultatu obliczeń

    Umiesz zrobić którykolwiek punkt?

Jakub Mańkiewicz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0
KamilAdam napisał(a):

A co już masz napisane?

Kopiuj
int main()
{
    int C;
    printf("Wprowadz wartosc liczby C\n");
    scanf("%d",&C);
    printf("Wynik wynosi: %d",C*2-C+5/(1/pow(C,2)));
    return 0;
}

Tak to wygląda jednak chyba jest coś nie tak w obliczeniach

Althorion
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1620
7

Tak, masz żle nawiasy. Twój zapis C*2 - C + 5/(1/pow(C,2)) to odpowiednik C \cdot 2 - C + \frac{5}{\frac{1}{C^2}}, a dzielić przez \frac{1}{C^2} chcesz całe wyrażenie, zatem chcesz mieć (C*2 - C + 5)/(1/(C*C)).

YA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2399
2

Używasz typu int, więc te dzielenia też będą int, czyli dość prawdopodobne, że dla 1/C^2 dostaniesz 0 dość szybko i dzielenie 5/0.
Możliwe, że powinieneś użyć 1.0/C^2, tak by wymusić konwersję do float i w printf użyć odpowiedniego formatowania dla zmiennoprzecinkowych.

Manna5
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 685
1

Należy zwrócić uwagę na to, że można używać tylko typu całkowitego, i wydaje mi się, że pośredni typ zmiennoprzecinkowy w wyrażeniu też się liczy. Sens zadania jest chyba taki, żeby zamienić dzielenie przez odwrotność na mnożenie, czyli (C + 5) * C * C, i wtedy wszystkie obliczenia są całkowitoliczbowe. Ważna umiejętność jak nie masz do dyspozycji FPU (np. na embedded).

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.