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

[Lekcja 19] Program losuje zbyt mało liczb

Ostatnio zmodyfikowano 2015-10-18 01:44
Autor Wiadomość
xomicr0n
Temat założony przez niniejszego użytkownika
[Lekcja 19] Program losuje zbyt mało liczb
» 2015-10-18 00:59:52
Witam, mam pewną zagwozdkę związaną z moim programem, otóż :

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

void losowanie( int t[], int iRozmiar ) // ta funkcja bedzie losowac liczby i przypisywac
{
    int i = 0;
    do
    {
        t[ i ] =( rand() %( 11 - 4 ) ) + 4;
        i++;
    } while( i < iRozmiar );
   
}


void wypisywanie( int t1[], int iRozmiar1 ) // ta funkcja losuje
{
    int nr = 0;
    int i = 0;
    do
    {
        cout << "Liczba nr" << nr << " : " << t1[ i ] << endl;
        nr++;
        i++;
    } while( i < iRozmiar1 );
   
}


void sumowanie( int t2[], int iRozmiar2 ) // ta funkcja sumuje
{
    int suma = 0;
    int i = 0;
    do
    {
        suma += t2[ i ];
    } while( i < iRozmiar2 );
   
    cout << "Suma : " << suma << endl;
}


int main()
{
    srand( time( NULL ) );
    int tablica[ 1000 ];
    losowanie( tablica, 1000 );
    wypisywanie( tablica, 1000 );
    sumowanie( tablica, 1000 );
    return 0;
}

Podany program działa (kompiluje się), jednak występują dwa problemy
- losowanie liczb odbywa się tylko w zakresie od  701 do 999
- program nie chce sumować liczb (po wypisaniu liczb z tych wartości następuje długi długi okres oczekiwania, przez który nic się nie dzieje, aż do zamknięcia programu)

 Byłby w stanie ktoś mnie naprowadzić na to, co robię nie tak? Ślęczę trochę nad programem i dalej nie mam żadnego pomysłu
P-138755
killjoy
» 2015-10-18 01:33:58
- losowanie liczb odbywa się tylko w zakresie od  701 do 999
 Z kodu wynika, że losuje 4 - 10.

- program nie chce sumować liczb
Nie inkrementujesz zmiennej
i
.
P-138756
carlosmay
» 2015-10-18 01:41:50
Program ok poza tą 'i'.
Konsola w standardowym ustawieniu wyświetla ok 300 linii, więc więcej nie zobaczysz (chyba, że zmienisz w ustawieniach konsoli).
Zwykle wynik sumowania był ok 7000. Napraw 'i'.
P-138757
xomicr0n
Temat założony przez niniejszego użytkownika
» 2015-10-18 01:44:20
A rzeczywiście, przeoczyłem inkrementację, mega głupi błąd.  I sumuje w okolicach 7000.
 I mam rozumieć, że jeśli w konsoli widzę dopiero od "...liczba nr 705", to się tym nie martwić?

 Dzięki wielkie :)

//edit oki, zwiększyłem długość bufora i wszystko mi się wyświetla. Jeszcze raz dziękuję!
P-138758
« 1 »
  Strona 1 z 1