Przekazywanie tablic jednowymiarowych do funkcji zadanie domowe. Czy kod jest napisany poprawnie(czy nie popełniłem żadnych karygodnych błędów)?
Ostatnio zmodyfikowano 2017-07-07 01:40
Kurpel Temat założony przez niniejszego użytkownika |
Przekazywanie tablic jednowymiarowych do funkcji zadanie domowe. Czy kod jest napisany poprawnie(czy nie popełniłem żadnych karygodnych błędów)? » 2017-07-07 00:30:27 Tak jak w temacie, chciałbym się dowiedzieć czy nie robię błędów i co mogę poprawić w kodzie by w przyszłości nie cierpieć przez złe nawyki. #include <iostream> #include <cstdlib> #include <ctime> void wylosujLiczby( int t[], int iRozmiar, int maxx, int minn ) { int i = 0; do { t[ i ] =( std::rand() % maxx ) + minn; i++; } while( iRozmiar > i ); } int obliczSume( int t[], int iRozmiar ) { int suma = 0; int i = 0; do { suma += t[ i ]; i++; } while( iRozmiar > i ); return suma; } void wypiszLiczby( int t[], int iRozmiar ) { int i = 0; do { std::cout << "W tablicy " << i << " znajduje sie liczba: " << t[ i ] << std::endl; i++; } while( iRozmiar > i ); } int main() { srand( time( NULL ) ); int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 10 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); std::cout << "Suma liczb wynosi: " << iSuma << std::endl; return 0; }
|
|
Kinexity |
» 2017-07-07 00:43:50 Na pewno popełniłeś jeden kardynalny - pisze się "karygodnych", a nie "kary godnych" |
|
Kurpel Temat założony przez niniejszego użytkownika |
Poprawione » 2017-07-07 00:48:32 A co do kodu? |
|
Kinexity |
» 2017-07-07 00:55:22 Zamiast pętli do...while w powyższych przypadkach lepiej zdałaby egzamin pętla for. |
|
Kurpel Temat założony przez niniejszego użytkownika |
» 2017-07-07 00:57:49 Pętla for będę poznawał dopiero za 3 lekcje, a dlaczego lepiej? Jeszcze jakieś błędy? |
|
Kinexity |
» 2017-07-07 01:06:19 Ja bym to napisał tak: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
const int iRozmiar = 999;
void wylosujLiczby( int t[], int maxx, int minn ) { srand( time( NULL ) ); for( int i = 0; i < iRozmiar; i++ ) { t[ i ] =( rand() % maxx ) + minn; } }
int obliczSume( int t[] ) { int suma = 0; for( int i = 0; i < iRozmiar; i++ ) { suma += t[ i ]; } return suma; }
void wypiszLiczby( int t[] ) { for( int i = 0; i < iRozmiar; i++ ) { cout << "W komorce " << i << " tablicy znajduje sie liczba: " << t[ i ] << endl; } }
int main() { int tablica[ iRozmiar ]; wylosujLiczby( tablica, 4, 10 ); wypiszLiczby( tablica ); cout << "Suma liczb wynosi: " << obliczSume( tablica ) << endl; return 0; }
I tutaj jeszcze podkreślę - twój kod jest w pełni poprawny, a poprawki są tylko stylistyczne (tak jak np. pętla "for" - ona jest właśnie przeznaczona do sytuacji, kiedy wiesz ile razy musisz coś zrobić) |
|
Kurpel Temat założony przez niniejszego użytkownika |
» 2017-07-07 01:40:13 Dzięki |
|
« 1 » |