Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Suma - Tablice w funkcji

Ostatnio zmodyfikowano 2011-04-20 19:45
Autor Wiadomość
Elano92
Temat założony przez niniejszego użytkownika
Suma - Tablice w funkcji
» 2011-04-17 21:16:38
C/C++
#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;
   
    /*
        wylosujLiczby( tablica, 999, 4, 10 );
        wypiszLiczby( tablica, 999 );
        int iSuma = obliczSume( tablica, 999 );
        cout << "Suma liczb wynosi: " << iSuma << endl;   */
    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ł.
P-31026
DejaVu
» 2011-04-17 21:38:10
1. Bo nie napisałeś algorytmu do sumowania.
2. Poczytaj kurs od początku » KursyKurs C++ kurs.
P-31031
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ć :)
P-31033
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 ?
P-31036
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
C/C++
int funkcja()
{
    ...
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:
C/C++
wylosujLiczby();
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:
C/C++
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
P-31041
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.
P-31043
yyy...mleko
» 2011-04-17 21:58:05
Nie musisz nic zwracać. :)
zamień na:
C/C++
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;
    }
   
}
P-31044
szyx_yankez
» 2011-04-17 22:01:10
@Elano92:
O to Ci chodzi?
C/C++
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 );
    //wylosowane liczby
    for( int i = 0; i < 52; ++i )
         cout << t[ i ] << "\n";
   
}
P-31045
« 1 » 2
  Strona 1 z 2 Następna strona