Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Generator de teste  (Citit de 4124 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« : Martie 10, 2009, 14:56:17 »

am incercat sa imi fac un generator de teste in borland ma lovesc de aceasi problema. functiile rand(); si random(var); imi returneaza aceasi valoare de fiecare data. poate nu stie eu sa le folosesc cum trebuie, asa fac va rog sa ma ajutati. multumesc Smile
Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #1 : Martie 10, 2009, 15:09:59 »

Cod:
rand()%100;//numar random intre 0 si 99


randomize();
random(100);//acelasi lucru

recomandat e primul fiindca e ANSI C din cate tin minte Smile
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #2 : Martie 10, 2009, 15:27:43 »

..in borland   am intampinat o problema cu  randomize() si random();
daca puneam 
Cod:
int main()
  {
    //niste calcule  din care rezulta n;
     randomize();
      std::cout<<random(n)<<endl;
afisa acelasi lucru  .........dar daca pun
Cod:
int main()
  {  randomize();
    //niste calcule  din care rezulta n;
     std::cout<<random(n)<<endl;
Merge perfect, adica da numere aleatorii.  Mi-a  explicat cineva ca este ceva de a face cu seed dar nu prea am inteles...........
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #3 : Martie 10, 2009, 15:39:34 »

sa zicem ca am rezolvat problema cu randomizarea numerelor. dar apare alta poblema. sa zice ca imi aleg un numar oarecare. il bag intr-o matrice. si daca incerc sa afisez matricea imi afiseaza prima linie de m ori, m fiind numarul de linii completate. am incercat sa afisez si dupa ce imi generez fiecare numar, dar acelasi rezultat. ii incredibil ce poate "scoate" borlandu din el. trebuie sa ii reconsider pozitia de program principal de codare, cel putin pentru mine.

ce ii gresit? programul ar trebui sa imi genereze N si M, iar pe urmatoarele M linii sa fie un numar aleator de numere mai mici sau egale cu N

Cod:
#include<fstream.h>
#include<stdlib.h>

int x[100][100],n,m,i,j,nr,k,viz[100],numar,a[100][100];


int main()
{
ofstream g("gentest.in");
n = m = 0;
while(n == 0)
{
randomize();
n = rand() % 20;
}
while(m == 0)
{
randomize();
m = rand() % n;
}

for(i = 1; i <= m; i++)
{
nr = 0;
while(nr == 0)
{
randomize();
nr = random(n);
}

k = 1;

memset(viz, 0, sizeof(viz));

for(j = 1; j <=nr; j++)
{
randomize();
numar = random(n);
if(viz[numar] == 0 && numar != 0)
{
x[i][x[i][0]+1] = numar;
viz[numar] = 1;
x[i][0]++;
}
}

}

for(i = 1; i <= m; i++)
{
for(j = 1; j <= x[i][0]; j++)
g<<x[i][j]<<" ";
g<<endl;
}
 
return 0;
}
« Ultima modificare: Martie 10, 2009, 16:00:43 de către gaboru corupt » Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #4 : Martie 10, 2009, 17:53:07 »

nu inteleg ce rol are nr ?? iti spune cate numere sa puna  pe linia  i?...sau
Cod:
#include<fstream.h>
#include<stdlib.h>
#define g cout  //mi-a fost lene sa folosesc  fisiere ;)
int x[100][100],n,m,i,j,nr,k,viz[100],numar,a[100][100];


int main()
{
//ofstream g("gentest.in");
n = m = 0;
while(n == 0)
{
randomize();
n = rand() % 20;
}
while(m == 0)
{
randomize();
m = rand() % n;
}
  // cout<<n<<" "<<m<<endl;
for(i = 1; i <= m; i++)
{
nr = 0;
while(nr == 0)
{
  // randomize();
nr = rand()%n;
}//     cout<<nr<<endl;

k = 1;

memset(viz, 0, sizeof(viz));

  for(j = 1; j <=nr; j++)
{
//randomize();
numar = rand()%n;//random(n);
if(viz[numar] == 0 && numar != 0)
{
x[i][x[i][0]+1] = numar;
viz[numar] = 1;
x[i][0]++;
}
}

}

for(i = 1; i <= m; i++)
{
for(j = 1; j <= x[i][0]; j++)
g<<x[i][j]<<" ";
g<<endl;
} // */
   system("PAUSE");
return 0;
}
L-am testat si se pare ca merge .....Very Happy
« Ultima modificare: Martie 10, 2009, 17:58:25 de către alexandru » Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #5 : Martie 10, 2009, 18:11:11 »

Cod:
#include<fstream.h>
#include<stdlib.h>
#include<time.h>

int x[100][100],n,m,i,j,nr,k,viz[100],numar,a[100][100];
time_t t;

int main()
{       srand((unsigned) time(&t));
ofstream g("gentest.in");
n = m = 0;
while(n == 0)
{
n = rand() % 20;
}
while(m == 0)
{
m = rand() % n;
}

for(i = 1; i <= m; i++)
{
nr = 0;
while(nr == 0)
{
nr = rand()%n;
}

k = 1;

memset(viz, 0, sizeof(viz));

for(j = 1; j <=nr; j++)
{
numar = rand()%n;
if(viz[numar] == 0 && numar != 0)
{
x[i][x[i][0]+1] = numar;
viz[numar] = 1;
x[i][0]++;
}
}

}
g<<n<<' '<<m<<'\n';

for(i = 1; i <= m; i++)
{
for(j = 1; j <= x[i][0]; j++)
g<<x[i][j]<<" ";
g<<endl;
}

return 0;
}

foloseste rand si srand in loc de random si randomize... ar trebui sa-ti mearga pe orice compilator c++ Smile
trebuie sa reinitializezi generatorul de numere aleatoare doar o data inainte sa rulezi programul..
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #6 : Martie 10, 2009, 18:23:51 »

Setarea seed-ului ar trebui sa aiba loc o singura data, la inceputul programului, nu inainte de fiecare apel al functiei rand().
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #7 : Martie 10, 2009, 18:45:06 »

Citat
Setarea seed-ului ar trebui sa aiba loc o singura data, la inceputul programului, nu inainte de fiecare apel al functiei rand().

pai da... asta am zis si eu inainte, doar mai pe "babeste"  Smile
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #8 : Martie 10, 2009, 19:06:45 »

am rezolvat merci. acuma sa rezolv si problema pentru care am nevoie de generator ca nu imi dau seama unde se impotmoleste. multumesc inca o data la toti peacefingers
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #9 : Martie 10, 2009, 19:08:14 »

de curiozitate ce problema rezolvi ??  .......daca nu te superi
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #10 : Martie 10, 2009, 19:18:36 »

http://infoarena.ro/problema/senat
Memorat
id_dobreandrei
Strain


Karma: -13
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #11 : August 28, 2009, 09:59:39 »

As dori un generator de teste care sa merga pentru web.
As dori sa pun teste grila de matematica pe www.mateinfo.ro. Ma poate ajuta cineva?

De exemplu http://www.testegrila.ro/ sau testele de la ase ?

Administrator www.mateinfo.ro
prof. Andrei Dobre
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #12 : August 28, 2009, 16:31:50 »

As dori un generator de teste care sa merga pentru web.
As dori sa pun teste grila de matematica pe www.mateinfo.ro. Ma poate ajuta cineva?

De exemplu http://www.testegrila.ro/ sau testele de la ase ?

Administrator www.mateinfo.ro
prof. Andrei Dobre

Nu este nevoie sa postati de 2 ori pe acelasi subiect. Daca e cineva care va poate ajuta o sa va raspunda in topicul respectiv. De asemenea, "generator de teste" se refera la altceva decat aveti nevoie.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines