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

[ Rozdział 19 ] Problem z argumentami

Ostatnio zmodyfikowano 2015-01-11 12:35
Autor Wiadomość
luuuzik
Temat założony przez niniejszego użytkownika
[ Rozdział 19 ] Problem z argumentami
» 2014-11-08 21:54:58
Witam, mam mały problem z argumentami, a mianowicie kompilator nie chce mi kodu skompilować, poniżej wrzucam kod + SS:
C/C++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int tablica[ 999 ];
int poczatek = 4;
int koniec = 10;
int zakrestablicy = 999;
int licznik = 0;

void wylosujLiczby( int tablica[], int zakrestablicy, int poczatek, int koniec )
{
    licznik = 0;
    do
    {
        int losowanie = 1;
        cout << "Losuje " << losowanie << " liczbe " << endl;
        tablica[ licznik ] =( rand() %(( koniec - poczatek ) + 1 ) + poczatek );
        licznik++;
        losowanie++;
    } while( licznik < 999 );
   
    return;
}
void wypiszLiczby( int tablica[], int zakrestablicy )
{
    licznik = 0;
    do
    {
        cout << "Tablica : " << tablica[ licznik ] << " licznik: " << endl;
        licznik++;
    } while( licznik < 999 );
   
}
float obliczSume( int tablica[], int zakrestablicy )
{
    int suma;
    licznik = 0;
    do
    {
        suma = suma + tablica[ licznik ];
        licznik++;
    } while( licznik < 999 );
   
    return suma;
}
int main()
{
    int tablica[ 999 ];
    srand( time( NULL ) );
   
    wylosujLiczby( int tablica, int zakrestablicy, int poczatek, int koniec );
    wypiszLiczby( int tablica, int zakrestablicy );
    int iSuma = obliczSume( int tablica, int zakrestablicy );
    std::cout << "Suma liczb wynosi: " << iSuma << std::endl;
    return 0;
}


123
123
 
P-120201
czosnek17
» 2014-11-08 22:17:38
C/C++
int main()
{
    //
    //
    wylosujLiczby( int tablica, int zakrestablicy, int poczatek, int koniec );
    wypiszLiczby( int tablica, int zakrestablicy );
    int iSuma = obliczSume( int tablica, int zakrestablicy );
    //
    //
}
Tak się nie uruchamia funkcji http://cpp0x.pl/kursy/Kurs-C++​/Poziom-2​/Funkcje-pierwsze-starcie/291
Próbujesz przekazać do funkcji zmienne globalne, co nie ma sensu, masz 2 razy int tablica[999] (w main i globalnie).
P-120203
luuuzik
Temat założony przez niniejszego użytkownika
» 2014-11-09 00:30:54
Ok, wszystko działa dzięki;)
P-120208
Smncru5
» 2015-01-11 12:35:33
Mam podobny problem co w lekcji 18, suma zawsze wychodzi taka sama i do tego jest ogromna.

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

float wylosujLiczby( int tablica[], int tRozmiar, int start, int stop )
{
    srand( time( NULL ) );
    int t = 0;
    do
    {
        tablica[ t ] =(( rand() % stop ) + start );
        t++;
    } while( t < tRozmiar );
   
    return 0;
}

float wypiszLiczby( int tablica[], int tRozmiar )
{
    cout << "Oto wylosowane liczby: ";
    int t = 0;
    do
    {
        cout << tablica[ t ] << ", ";
        t++;
    } while( t < tRozmiar );
   
    return 0;
}

int obliczSume( int tablica[], int tRozmiar )
{
    int i = 0;
    int suma;
    do
    {
        suma += tablica[ i ];
        i++;
    } while( i < tRozmiar );
   
    return suma;
}

int main()
{
    int tablica[ 999 ];
    wylosujLiczby( tablica, 999, 4, 10 );
    wypiszLiczby( tablica, 999 );
    int iSuma = obliczSume( tablica, 999 );
    std::cout << endl << "Suma liczb wynosi: " << iSuma << std::endl;
    return 0;
}

Nie wiem co może być nie tak, ktoś pomoże?

edit//Swoją drogą zauważyłem, że ten sposób na losowanie liczb z danego przedziału jakoś dziwnie działa, bo liczby są losowane (i były też w zadaniu ostatnim) z przedziału 4 do 13, co jest nie tak, chyba nie rozumiem tego za bardzo?
edit2//Trzeba było ustawić zmienną suma na 0, teraz wszystko działa.

C/C++
int obliczSume( int tablica[], int tRozmiar )
{
    int i = 0;
    int suma = 0;
    do
    {
        suma += tablica[ i ];
        i++;
    } while( i < tRozmiar );
   
    return suma;
}
Poprawny (a przynajmniej działający :D) zapis funkcji sumującej do zadania domowego z lekcji 19.
P-124642
« 1 »
  Strona 1 z 1