[C++] Przekazywanie tablic jednowymiarowych do funkcji - zadanie
Ostatnio zmodyfikowano 2012-12-15 12:06
GieNkoV Temat założony przez niniejszego użytkownika |
[C++] Przekazywanie tablic jednowymiarowych do funkcji - zadanie » 2012-12-02 15:41:02 Witam chciałbym aby ktoś bardziej zaawansowany w programowaniu ocenił moje wypociny z tego oto zadania. Wszystko jest chyba OK ale może jest coś co można poprawić? Z góry dziękuję za pomoc. Treść zadania: Napisz program, który wylosuje 999 liczb całkowitych z zakresu od 4 do 10 włącznie, wypisze te wartości na ekran, po czym zsumuje je i wynik wypisze na ekran. Wszelkie operacje mają zostać zrealizowane w oparciu o funkcje. Tablica ma być zadeklarowana w funkcji main. Oczekiwane funkcje: Wypełnienie tablicy o podanym rozmiarze losowymi liczbami z przedziału podawanego przez argumenty funkcji. Sumowanie określonej ilości liczb znajdujących się w tablicy i zwrot wyniku. Wypisywanie zawartości tablicy. A tutaj kod programu: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wylosujLiczby( int t[], int ileLiczb, int min, int max ) { int losowe; int pozycja = 0; do { losowe =(( rand() %( max - min + 1 ) ) + min ); t[ pozycja ] = losowe; pozycja++; } while( pozycja <= ileLiczb ); }
void wypiszLiczby( int t[], int ileLiczb ) { int pozycja = 0; do { cout << t[ pozycja ] << ", "; pozycja++; } while( pozycja <= ileLiczb ); cout << endl; }
int obliczSume( int t[], int ileLiczb ) { int suma = 0; int pozycja = 0; do { suma = suma + t[ pozycja ]; pozycja++; } while( pozycja <= ileLiczb ); return suma; }
int main() { srand( time( NULL ) ); int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 10 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); cout << "Suma liczb wynosi: " << iSuma << endl; return 0; }
|
|
DejaVu |
» 2012-12-02 20:29:59 Ocenianie kodu nie ma najmniejszego sensu. Działa poprawnie = 100%, nie działa poprawnie = 0%. |
|
tirou |
» 2012-12-10 00:22:45 A ocenianie szybkosci, stabilnosci, wydajnosci itp ? Wiem, że to nie na ten poziom, ale ogolnie powyższy post DejaVu jest powiedzmy "niedokładny" :> |
|
withelm |
» 2012-12-10 06:29:26 A na tabulatory to jesteś za biedny? |
|
Hipochondryk |
» 2012-12-15 12:06:19 Nie lepiej było by użyć wskaźników ? było by o wiele szybciej i przynajmniej dla mnie wygodniej.
#include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int suma;
void wylosujLiczby( int * t, int ileLiczb, int min, int max ) { int pozycja = 0; do { *( t + pozycja++ ) =(( rand() %( max - min + 1 ) ) + min ); } while( pozycja <= ileLiczb ); }
void wypiszLiczby( int * t, int ileLiczb ) { int pozycja = 0; do { cout << *( t + pozycja++ ) << ", "; } while( pozycja <= ileLiczb ); cout << endl; }
void obliczSume( int * t, int ileLiczb ) { int pozycja = 0; do { suma += *( t + pozycja++ ); } while( pozycja <= ileLiczb ); }
int main() { srand( time( NULL ) ); int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 10 ); wypiszLiczby( tablica, 999 ); obliczSume( tablica, 999 ); cout << "Suma liczb wynosi: " << suma << endl; return 0; }
|
|
« 1 » |