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

Lekcja 19, losowanie a wynik dodawania

Ostatnio zmodyfikowano 2012-01-19 11:34
Autor Wiadomość
SeaMonster131
» 2011-12-11 21:15:22
Losujesz tylko pierwszą liczbę w tablicy. Zamiast
std::cout << suma << endl;
 daj
return suma;
. A pozostałe funkcje masz jako int, a nic nie zwracasz.
P-45532
Mioka
Temat założony przez niniejszego użytkownika
» 2011-12-11 21:34:04
Dzięki!
A czy to źle, że dałem
int
 powinienem to zmienić na
void
.Czy to bardzo wpływa na pracę programu, bo ja nie zauważam wielkiej różnicy.
P-45534
peqon
» 2011-12-12 08:45:49
Marnujesz dużo miejsca...
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void losuj( int tab[], int ile )
{
    int iDo = 7;
    int iOd = 4;
    for( int licz = 0; licz < ile; licz++ )
         tab[ licz ] =( rand() % iDo ) + iOd;
   
    return;
}
void obliczSume( int tab[], int ile )
{
    int suma;
    for( int licz = 0; licz < ile; licz++ )
         suma += tab[ licz ];
   
    cout << suma << endl;
    return;
}
int main()
{
    srand( time( NULL ) );
    int ile = 10;
    int liczba[ ile ];
    losuj( liczba, ile );
    cout << "Wylosowane liczby to: ";
    for( int i = 0; i < ile; i++ )
         cout << liczba[ i ] << " ";
   
    cout << endl << "Suma wylosowanych liczb to: ";
    obliczSume( liczba, ile );
    return 0;
}
PS: Jak dodaje się kod w tym okienku jakby z kompilatora
P-45535
SeaMonster131
» 2011-12-12 15:25:57
@up: [cpp] kod [/cpp] , ale już Ci zmienie.
P-45544
darvd29
» 2012-01-16 18:24:13
Siema. Piszę tu bo mam także problem z tym losowaniem. Szczena mi opadła, widząc wasze kody, bo mój kod też nie działa, ale wygląda tak:

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int suma;
int funkcja()
{
    srand( time( NULL ) );
    int liczby[ 998 ];
    int licznik = 0;
    do
    {
        double liczba =( rand() % 6 ) + 4;
        std::cout << "Liczba nr: " << licznik++ << std::endl;
        std::cout << "Wylosowano: " << liczba << std::endl << std::endl;
        std::cout << liczby[ licznik ];
       
    } while( licznik < 999 );
   
    return suma;
}
int main()
{
    funkcja();
    std::cout << "Suma wylosowanych liczb wynosi: " << suma;
    system( "PAUSE" );
    return 0;
}

Wiem, że odkopuję stary temat ale to tak samo jakbym założył nowy o praktycznie tym samym :)

EDIT.
Aha, co nie działa - po 1. Przy losowaniu pisze coś w stylu "12615215630Liczba nr: 1" "162516757215Wylosowano: 7", więc losowanie działa ale nie wiem co robią te liczby przed napisem o_O Po 2. Suma wynosi 0...
P-48400
BoBeR
» 2012-01-16 19:09:27
Te liczby przed napisem wyświetla ta linijka:
std::cout << liczby[ licznik ];
, natomiast suma wynosi zero, ponieważ nigdzie nie sumujesz tych liczb, masz tylko definicje tej zmiennej, wiec domyślnie jej przypisało wartość 0.
P-48411
darvd29
» 2012-01-16 19:38:28
No właśnie domyślałem się że to dlatego że nigdzie nie sumuję tych liczb, tylko albo jestem jakiś tępy, albo dzisiaj mam zły dzień bo ni cholery nie wiem jak to zrobić :/
P-48413
darvd29
» 2012-01-17 10:42:35
@refresh
P-48488
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona