pogram wykorzystujący tablice jednowymiarową.

0

Witam, jestem tutaj po raz pierwszy. Uczę się od podstaw i zamierzam iść w tym kierunku. Na początku pisze proste programy, przy których zrozumiem dane zagadnienie. otóż mam problem z moim kodem:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int losowanko()
{
	srand(time(NULL));
	rand();
	int los=(rand()%5) +4;
	return los;

}

int main()
{	
	int iloscp = 10;
	int schowek [iloscp];
	int petla = 0;
	do
	{
		int wartosczwracana ;
                wartosczwracana = losowanko();
		cin >> schowek [petla] = wartosczwracana;
		petla++;
	}while(petla<9);
	petla=0;
	do
	{
		cout << schowek [petla] <<endl;
		petla++;
	}while(petla<9);
return 0;
}

Chcę osiągnąć działanie by program losował 10 liczb, zapisał je w tablicy po czym je odczytał z tablicy i wypisał na ekranie. Najprawdopodobniej robię coś źle z tablicą, lecz nie do końca rozumiem co. proszę o pomoc.

1

Co się dzieje, nie kompiluje się, wyjątek, złe wyniki?

0

Otóz wyskakuje bład [Error] no match for 'operator=' w linijce 23. oczywiscie mam pojęcie co oznacza ten błąd aczkolwiek nie mam pojęcia jak się uporać z problemem. precyzyjnie pytając co powinienem zrobić by program się skompilował.

2

srand(time(NULL)); ma być wywołane tylko raz na początku main.

Co to niby ma robić?

 cin >> schowek [petla] = wartosczwracana;
2

cin >> schowek [petla] = wartosczwracana;

Co tutaj ma robić ten operator= ?

Co chcesz w tej linijce osiągnąć?

0

No, tak, po co to cin>>>, skoro do tablicy Wpisujesz losowe liczby z funkcji, a nie z wejścia, poza tym liczby nie będą do końca losowe.

0

no tak... racja... wstyd trochę ,że nie pojąłem tego "cin"

swoją drogą dlaczego liczby nie będą losowe? co powinienem zrobić by były?

0

Odpowiedział powyżej @MarekR22

0

ok, dziękuje wszystkim za pomoc.

0

przeczytanie, jeszcze raz dziękuje i przepraszam.

1
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int losowanko()
  {
   //srand(time(NULL)); -- tylko raz wywolywać
   //rand(); po kiego zbędne wywołanie
   //int los=; // nie potrzebne zbędne zmienne
   return rand()%5+4; // nie potrzebne zbędne nawiasy
  }

int main()
  {   
   const int iloscp=10; // dawać przynajmniej const jeżeli to stała
   int schowek[iloscp];
   /*
   int petla = 0;
    do
    {
        int wartosczwracana ;
                wartosczwracana = losowanko();
        cin >> schowek [petla] = wartosczwracana;
        petla++;
    }while(petla<9);
    */
    //Do while tu przynajmniej nie pasuje
    // zdecyduj się losujesz czy wczytujesz?
   for(int i=0;i<iloscp;++i) schowek[petla]=losowanko(); // losowanie
    //for(int i=0;i<iloscp;++i) cin>>schowek[petla]; // wczytywanie
    /*
    petla=0;
    do
    {
        cout << schowek [petla] <<endl;
        petla++;
    }while(petla<9);
    */
   for(int i=0;i<iloscp;++i) cout<<schowek[petla]<<endl;
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1