• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czemu ta funkcja nie dziala ?

0 głosów
416 wizyt
pytanie zadane 26 marca 2020 w C i C++ przez Sashimo Użytkownik (740 p.)

co znowu robię źle :/?

czemu tablica sie nie wczytuje ?

czemu losowanie nie dziala ?

 

#include <iostream>
#include <cstdlib>
#include <ctime>


using namespace std;



void wylosujLiczby(int t[],int ile,int start,int stop)
{


    cout<<"Losowanie "<<ile<<" liczb z zakresu od "<<start<<" do "<<stop<<endl;

    int i=0;

    do{
          srand(time(NULL));
         t[i]=((rand()%(stop-start+1)+4));

    cout<<"TEST "<<i+1<<"    "<<t[i]<<endl;//test
    i++;
    }while(i<ile);

}

int main()
{

    int i;
     int tablica[ 999 ];
    wylosujLiczby( tablica, 999, 4, 10 );
    do
    {
        cout<<"TEST 2"<<tablica[i]<<endl;
        i++;

    }while(i<999);
    return 0;
}

 

komentarz 26 marca 2020 przez tkz Nałogowiec (42,040 p.)
Ziarno przenieś nad "do".
komentarz 26 marca 2020 przez Sashimo Użytkownik (740 p.)
ok losowanie zadziałało a co z tym ze main nie pobiera tablic ?
komentarz 26 marca 2020 przez tkz Nałogowiec (42,040 p.)
Twoje i jest zerem.

Edit:

Skrót myślowy, "i" nie jest niczym, nie jest zainicjalizowana.
komentarz 26 marca 2020 przez Sashimo Użytkownik (740 p.)
Ok rozumiem. Masakra mój błąd:/
komentarz 26 marca 2020 przez tkz Nałogowiec (42,040 p.)
Wspieraj się flagami kompilatora, uratują trochę czasu. W czym piszesz?
komentarz 26 marca 2020 przez Sashimo Użytkownik (740 p.)
obecnie w CodeBlocks ale to był ostatni raz teraz przechodzę na Visual Studio 2019

 

tylko mam problem ze ciagle AVAST mi skanuje programy ;/ jest to irytujace
komentarz 26 marca 2020 przez tkz Nałogowiec (42,040 p.)

https://www.google.com/search?q=disable+avast+for+visual+studio&oq=avast+disale+for+vi&aqs=chrome.1.69i57j0l7.5839j0j7&sourceid=chrome&ie=UTF-8

VS sam inicializuje zmienne, jak dobrze pamiętam pod 0xCCC... w trybie debug, na co musisz uważać...

1 odpowiedź

0 głosów
odpowiedź 26 marca 2020 przez Damianek Obywatel (1,020 p.)
wybrane 26 marca 2020 przez Sashimo
 
Najlepsza

Jak napisał przedmówca, przeniesienie srand(); na początek funkcji losuj lub na początek funkcji main.

W funkcji main nie masz przypisanej wartości do "i". Lepszym rozwiązaniem byłoby skorzystanie z pętli for. Wtedy "i" z przyzwyczajenia być zainicjował :)


#include <iostream>
#include <cstdlib>
#include <ctime>


using namespace std;



void wylosujLiczby(int t[],int ile,int start,int stop)
{
    srand(time(NULL));

    cout<<"Losowanie "<<ile<<" liczb z zakresu od "<<start<<" do "<<stop<<endl;

    int i=0;

    do{

         t[i]=((rand()%(stop-start+1)+4));

    cout<<"TEST "<<i+1<<"    "<<t[i]<<endl;//test
    i++;
    }while(i<ile);

}

int main()
{


    int i = 0;
     int tablica[ 999 ];
    wylosujLiczby( tablica, 999, 4, 10 );
    do
    {
        cout<<"TEST 2"<<tablica[i]<<endl;
        i++;

    }while(i<999);
    return 0;
}

 

Podobne pytania

0 głosów
0 odpowiedzi 153 wizyt
0 głosów
2 odpowiedzi 282 wizyt
pytanie zadane 6 listopada 2015 w C i C++ przez sajferrs Początkujący (360 p.)
0 głosów
2 odpowiedzi 398 wizyt
pytanie zadane 16 stycznia 2018 w C i C++ przez Hawkeye Początkujący (360 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,369 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...