lelu0 Temat założony przez niniejszego użytkownika |
[lekcja 19 zadanie] problem z kompilacja » 2011-10-07 17:18:51 #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int wylosujLiczby( int tablica, int a, int b, int c ) { int index = 0; do { tablica[ inde ] =( rand() % c ) + b; index++; } while( index < a ); return tablica; } int wypiszLiczby( int tablica, int y ) { do { cout << "liczba to: " << tablica[ y ] << endl; y--; } while( y >= 0 ); }
int main() { int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 7 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); std::cout << "Suma liczb wynosi: " << iSuma << std::endl; return 0; }
Dlaczego w tym kodzie przy próbie kompilacji dostaje komunikat: error: invalid types 'int[int]' for array subscipt ?? |
|
malan |
» 2011-10-07 17:33:33 int index = 0;
tablica[ inde ] =( rand() % c ) + b; |
|
ison |
» 2011-10-07 17:36:27 ponieważ 'tablica' to nie tablica int wylosujLiczby( int tablica, int a, int b, int c ) { int index = 0; do { tablica[ inde ] =( rand() % c ) + b; index++; } while( index < a ); return tablica; }
|
|
|
lelu0 Temat założony przez niniejszego użytkownika |
» 2011-10-07 17:47:15 zmieniłem kod tak: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int wylosujLiczby( int tablica[], int a, int b, int c ) { int index = 0; do { tablica[ index ] =( rand() % c ) + b; index++; } while( index < a ); return tablica; } int wypiszLiczby( int tablica[], int y ) { do { cout << "liczba to: " << tablica[ y ] << endl; y--; } while( y >= 0 ); } int obliczSume( int a, int b )
int main() { int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 7 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); std::cout << "Suma liczb wynosi: " << iSuma << std::endl; return 0; }
i dostaje coś takiego: http://imageshack.us/photo/my-images/43/79697284.png/ |
|
pekfos |
» 2011-10-07 17:52:25 bo masz złe wartości zwracane. |
|
lelu0 Temat założony przez niniejszego użytkownika |
» 2011-10-07 18:01:57 Ok, dzięki, pozostała do napisania funkcja sumująca, do niej też pewnie będę miał pytania bo średnio mam pomysł, ale jeszcze spróbuje sam ;) -------------------------- Tak jak mówiłem, jest problem. A mianowicie jako sume wpisuje mi losowa liczbe. Czemu? #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int wylosujLiczby( int tablica[], int a, int b, int c ) { int index = 0; do { tablica[ index ] =( rand() % c ) + b; index++; } while( index < a ); return tablica[ 999 ]; } int wypiszLiczby( int tablica[], int y ) { do { cout << "liczba to: " << tablica[ y ] << endl; y--; } while( y >= 0 ); } int obliczSume( int a[], int b )
{ int s; do { s + a[ b ]; b--; } while( b >= 0 ); return s; }
int main() { int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 7 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); std::cout << "Suma liczb wynosi: " << iSuma << std::endl; return 0; } |
|
malan |
» 2011-10-08 01:29:14 |
|
lelu0 Temat założony przez niniejszego użytkownika |
» 2011-10-08 15:48:16 zmieniłem na int obliczSume( int a[], int b )
{ int s; do { s = s + a[ b ]; b--; } while( b >= 0 ); return s; }
.... i nie bardzo wiem co dalej jest nie tak... |
|
« 1 » 2 |