dovah993 Temat założony przez niniejszego użytkownika |
[C++] Funkcja której nie rozumiem » 2015-12-29 15:15:25 Witam. Mam do napisania funkcję której nie rozumiem (pogrubiam moment w którym polecenie staje się dla mnie niezrozumiałe). Mianowicie: Napisz funkcję clamp przyjmującą trzy argumenty, wartość minimalną a, maksymalną c oraz liczbę b, zwracającą:
a ,b<a clamp(a , b ,c)={ c , b>c b, a≤b≤c
|
|
mateczek |
» 2015-12-29 15:50:06 masz przedział danych gdzie "A" i "C" to jego granice :P (Autor nie napisał że C>A musi być zawsze ale pewnie taki miał plan :P)
A.......b..........C teraz ma zwrócić b
A.......C..........b teraz ma zwrócić c
b.......A..........C teraz m zwrócić a
Innymi słowy zwróć element w środku :P |
|
dovah993 Temat założony przez niniejszego użytkownika |
» 2016-01-02 11:09:52 Czyli funkcja ma zwracać wartość double lub int wartość środkową?
Następne polecenie brzmi tak: Napisz funkcję clamp która zamiast na jednej liczbie, operuje na tablicy w stylu C (modyfikuje każdy jej element)
Idąc tym tropem co napisałeś wyżej clamp zwraca jeden element, a tu ma być chyba tablica, sam nie wiem.
W ogóle czym jest tablica w stylu c? |
|
dovah993 Temat założony przez niniejszego użytkownika |
» 2016-01-03 09:32:19 Prosiłbym o pomoc, gdyż przez brak zrozumienia polecenia nie jestem w stanie ruszyć z programem. |
|
mateczek |
» 2016-01-03 10:17:06 tablica w stylu C to normalna tablica !!! int a[12]; lub dynamicznie alokowana int*a =new int[12]; A o to co ma być w tej tablicy to najlepiej się zapytaj autora zadania !!! czy w tablicach mają być również granice przedziału czy tylko liczba b?? #include <iostream> #include<string> using namespace std; void clamp( int a, int c, int * b, int rozmiarTab ) { for( int i = 0; i < rozmiarTab; i++ ) { if( b[ i ] < a ) b[ i ] = a; else if( b[ i ] > c ) b[ i ] = c; } } int main() { int limitDolny = 1; int limitGorny = 10; int tablicaB[ 10 ] = { 1, 10, 12, 5, 3, 0, 15, 2, 1, 12 }; clamp( limitDolny, limitGorny, tablicaB, 10 ); for( int i = 0; i < 10; i++ ) { cout << tablicaB[ i ] << endl; } } |
|
carlosmay |
» 2016-01-03 12:18:04 lub dynamicznie alokowana | int * p =( int * ) malloc( rozmiar * sizeof( int ) );
free( p );
|
|
dovah993 Temat założony przez niniejszego użytkownika |
» 2016-01-03 12:57:40 Dzięki wielkie, udało mi się osiągnąć to co potrzebowałem. |
|
« 1 » |