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

Funkcje z argumentami - problem z zadaniem, język C.

Object Storage Arubacloud
0 głosów
434 wizyt
pytanie zadane 6 września 2017 w C i C++ przez student97 Nowicjusz (210 p.)

Cześć,

Mam problem z zadaniem z C wykorzystującym funkcje z argumentami

Napisz program, który pobiera liczbę float i wyświetla jej wartość podniesioną do trzeciej potęgi. Wykorzystaj w tym celu zaprojektowaną przez siebie funkcję, która podniesie pobraną wartość do sześcianu i wyświetli ją. Funkcja man() powinna przekazywać pobraną wartość (jako argument) do Twojej funkcji.

Nie wiem jak się za to zabrać, nawet z książką nie mogę tego zrozumieć, fajnie jakby ktoś mi wytłumaczył o co w ogóle z tymi funkcjami chodzi, po co one są i kiedy się je używa. Liczę na jakieś łatwe do zrozumienia wytłumaczenie, potocznie nazywając - łopatologiczne ;p

2 odpowiedzi

0 głosów
odpowiedź 6 września 2017 przez Benek Szeryf (91,070 p.)
No funkcja to jest pewien przepis. Na przykład przepis na ciasto może być funkcją. Funkcja opisuje co należy zrobić ze składnikami, np. wymieszać je, upiec itp. w celu otrzymania ciasta. Ciasta jednak mogą być różne, np. sernik, jabłecznik, drożdżówka. Tak więc jedno ciasto używa sera, inne jabłek. To są właśnie argumenty funkcji. Raz musisz wymieszać ser, raz jabłka, a innym razem jajka czy co tam chcesz.

Oczywiście w tym wyjaśnieniu jest mały haczyk, ponieważ zazwyczaj każde ciasto robi się nieco inaczej, ale z grubsza możemy założyć, że należy wykonać te same czynności, zmieniają się tylko składniki. Czyli przepis wykonujemy raz, powielamy go sobie w przyszłości, a zmieniają się tylko jego komponenty. I zauważ, że za każdym razem masz inne ciasto, pomimo że przepis jest ten sam.
komentarz 6 września 2017 przez student97 Nowicjusz (210 p.)
Czyli u mnie funkcja musi podnieść pobraną wartość do kwadratu i wyświetlić ją.

void hash(float a)

w mainie:

float b=a*a*a;
hash(b);

void hash(float a)
{
    float a;
printf("Podaj liczbe typu zmiennoprzecinkowego: ");
scanf("%f",&a);
printf("a^3=%d",a,a);
return 0;
}

nie wiem, bo sie nie kompiluje :(
komentarz 6 września 2017 przez Benek Szeryf (91,070 p.)

Wewnątrz funkcji main() wywołujesz tylko funkcję, która podnosi liczbę do sześcianu, czyli np.

hash(7.54);

Funkcja powinna zwracać wartość liczby podniesionej do potęgi 3, więc jej deklaracja powinna być taka:

float hash(float num);

Twoim zadaniem jest napisać poprawną definicję tej funkcji. Warto zwrócić uwagę, że funkcja nie powinna pobierać danych od użytkownika. Tym się powinien zająć niezależny komponent umieszczony przed funkcją hash() w funkcji main().

komentarz 6 września 2017 przez student97 Nowicjusz (210 p.)
o co chodzi z tym hash(7.54);? bo nie za bardzo rozumiem
komentarz 7 września 2017 przez Benek Szeryf (91,070 p.)
Jest to sposób wywołania funkcji z argumentem 7.54. Taka funkcja powinna zwrócić wartość 7.54*7.54*7.54, którą możesz dalej wykorzystać w programie, np. wyświetlić na ekranie.
komentarz 8 września 2017 przez student97 Nowicjusz (210 p.)

Zrobilem takie coś i działa:

#include <stdio.h>
#include <stdlib.h>
float potega(float);
float potega(float a)
{
   return (a*a*a);

}
int main()
{
float a;
printf("Podaj liczbe typu zmiennoprzecinkowego: ");
scanf("%f",&a);
printf("%.f^3=%.f",a,potega(a));
return 0;




}

 

0 głosów
odpowiedź 7 września 2017 przez TenGumis Gaduła (3,440 p.)
Myslę że pierwszą odpowiedzią na tym forum powinno być:

https://www.youtube.com/watch?v=HHplT1A4_A4
komentarz 7 września 2017 przez student97 Nowicjusz (210 p.)
Ale to funkcje w języku c++, czy to nie ma żadnego znaczenia?
komentarz 11 września 2017 przez TenGumis Gaduła (3,440 p.)
Ma znaczenie ale w tym zastosowaniu taka wiedza wystarczy bo taka funkcja wyglądała by prawdopodobnie tak samo.

Podobne pytania

0 głosów
2 odpowiedzi 123 wizyt
pytanie zadane 4 września 2017 w C i C++ przez student97 Nowicjusz (210 p.)
0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 22 sierpnia 2017 w C i C++ przez poczatkujacy12 Nowicjusz (150 p.)
0 głosów
4 odpowiedzi 1,513 wizyt

92,592 zapytań

141,441 odpowiedzi

319,704 komentarzy

61,978 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!

...