Suma - Tablice w funkcji
Ostatnio zmodyfikowano 2011-04-20 19:45
Elano92 Temat założony przez niniejszego użytkownika |
Suma - Tablice w funkcji » 2011-04-17 21:16:38 #include<iostream> #include<conio.h> using namespace std;
int wylosujLiczby( int t[], int iRozmiar ) { cout << "Podaj " << iRozmiar << " liczb:" << endl; for( int i = 0; i < iRozmiar; i++ ) { t[ i ] = rand() % 7 + 4; cout << t[ i ] << endl; } } int suma() { int a = wylosujLiczby(); int b = 0 b = b + a; return b; } int main() { int tablica[ 999 ]; wylosujLiczby( tablica, 999 ); cout << "suma" << b; getch(); return 0; } Zadanie domu z działu. [1]Dlaczego nie działa mi suma? [2]Jak zrobić osobno losowanie i wypisywanie Prosiłbym o pomoc z komentarzami , chcę umieć ten dział. |
|
DejaVu |
» 2011-04-17 21:38:10 1. Bo nie napisałeś algorytmu do sumowania.
2. Poczytaj kurs od początku Kurs C++. |
|
yyy...mleko |
» 2011-04-17 21:41:14 A mam takie pytanie, czy ty ten kodzik w ogóle kompilowałeś ?
1. Gdzie return w funkcji int wylosujLiczby( int t[], int iRozmiar )
2. W funkcji int suma() wywołanie int wylosujLiczby( int t[], int iRozmiar ) bez argumentów ?
3. Gdzie deklaracja zmiennej b w bloku głównym ?
Dalej nie chce mi się szukać :) |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-04-17 21:45:54 no tak ale jak dam do funkcji wylosuj return t[ i ]; to mi wyskakuje inny błąd , który mam ciągle i głowie się pare dni jak to zaradzic ? |
|
ison |
» 2011-04-17 21:51:51 błędów trochę jest w tym kodzie, można by co najwyżej dać gotowca ;) pamiętaj o tym, że jeśli piszesz to funkcja musi coś zwracać, czyli na końcu jej definicji powinien znaleźć się return w swoim kodzie nie możesz wywołać funkcji w owy sposób: gdyż ta funkcja oczekuje pewnych parametrów (int wylosujLiczby( int t[], int iRozmiar )) jeśli deklarujesz zmienną w jakiejś funkcji to jest ona widoczna jedynie w obrębie tej funkcji, więc w Twoim kodzie: int main() { int tablica[ 999 ]; wylosujLiczby( tablica, 999 ); cout << "suma" << b;
w tym przypadku zmienna 'b' jest niezadeklarowana może spróbuj sobie powtórzyć lekcje z kursu |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-04-17 21:56:05 czyli return ma zwracać to ? int t[],int iRozmiar? Wy tu się rozpisujcie ja za ten czas przeczytam kurs funkcje 1 stracie i obecny. |
|
yyy...mleko |
» 2011-04-17 21:58:05 Nie musisz nic zwracać. :)
zamień na:
void wylosujLiczby( int t[], int iRozmiar ) { cout << "Podaj " << iRozmiar << " liczb:" << endl; for( int i = 0; i < iRozmiar; i++ ) { t[ i ] = rand() % 7 + 4; cout << t[ i ] << endl; } }
|
|
szyx_yankez |
» 2011-04-17 22:01:10 @Elano92:
O to Ci chodzi?
int * wylosujLiczby( int iRozmiar ) { int * t = new int[ iRozmiar ]; for( int i = 0; i < iRozmiar; i++ ) { t[ i ] = rand() % 7 + 4; cout << t[ i ] << endl; } return t; } int main() { int * t = wylosujLiczby( 52 ); for( int i = 0; i < 52; ++i ) cout << t[ i ] << "\n"; }
|
|
« 1 » 2 |