tizioquick
10-07-2009, 18:44
Ciao ragazzi,(premetto che sono un principiante) è da un pò di tempo che stavo cercando di creare un progettino che creasse un array di numeri interi random senza che essi si ripetino una volta che sono usciti una volta, apparentemente non mi sembrava difficile,però ho provato in centinaia di modi ma o mi dava errore o nn funzionava bene, sono arrivato al punto che il programma si bloccava e mi diceva che lo stack intorno all'array era corrotto.
potete per caso darmi una mano su come fare?
#include<iostream>
#include<stdlib.h>
using namespace std;
void
main(void)
{
int tur[7],err[10],buf,con=0;
for(int i=0;i<=7;i++)
{
err[i]=0;
}
for(int i=0;i<=(7+con);i++)
{
buf=rand()%12;
if(buf==1 && err[0]==0)
{
err[0]=1;
con++;
tur[i-con]=1;
}
if(buf==2 && err[1]==0)
{
err[1]=1;
con++;
tur[i-con]=2;
}
if(buf==3 && err[2]==0)
{
err[2]=1;
con++;
tur[i-con]=3;
}
if(buf==4 && err[3]==0)
{
err[3]=1;
con++;
tur[i-con]=4;
}
if(buf==5 && err[4]==0)
{
err[4]=1;
con++;
tur[i-con]=5;
}
if(buf==6 && err[5]==0)
{
err[5]=1;
con++;
tur[i-con]=6;
}
if(buf==7 && err[6]==0)
{
err[6]=1;
con++;
tur[i-con]=7;
}
if(buf==8 && err[7]==0)
{
err[7]=1;
con++;
tur[i-con]=8;
}
if(buf==9 && err[8]==0)
{
err[8]=1;
con++;
tur[i-con]=9;
}
if(buf==10 && err[9]==0)
{
err[9]=1;
con++;
tur[i-con]=10;
}
if(buf==1 && err[10]==0)
{
err[10]=1;
con++;
tur[i-con]=11;
}
}
for(int i=0;i<=7;i++)
{
cout<<tur[i]<<" ";
}
return;
}
questa è una delle tante prove che nn funzionano...
potete per caso darmi una mano su come fare?
#include<iostream>
#include<stdlib.h>
using namespace std;
void
main(void)
{
int tur[7],err[10],buf,con=0;
for(int i=0;i<=7;i++)
{
err[i]=0;
}
for(int i=0;i<=(7+con);i++)
{
buf=rand()%12;
if(buf==1 && err[0]==0)
{
err[0]=1;
con++;
tur[i-con]=1;
}
if(buf==2 && err[1]==0)
{
err[1]=1;
con++;
tur[i-con]=2;
}
if(buf==3 && err[2]==0)
{
err[2]=1;
con++;
tur[i-con]=3;
}
if(buf==4 && err[3]==0)
{
err[3]=1;
con++;
tur[i-con]=4;
}
if(buf==5 && err[4]==0)
{
err[4]=1;
con++;
tur[i-con]=5;
}
if(buf==6 && err[5]==0)
{
err[5]=1;
con++;
tur[i-con]=6;
}
if(buf==7 && err[6]==0)
{
err[6]=1;
con++;
tur[i-con]=7;
}
if(buf==8 && err[7]==0)
{
err[7]=1;
con++;
tur[i-con]=8;
}
if(buf==9 && err[8]==0)
{
err[8]=1;
con++;
tur[i-con]=9;
}
if(buf==10 && err[9]==0)
{
err[9]=1;
con++;
tur[i-con]=10;
}
if(buf==1 && err[10]==0)
{
err[10]=1;
con++;
tur[i-con]=11;
}
}
for(int i=0;i<=7;i++)
{
cout<<tur[i]<<" ";
}
return;
}
questa è una delle tante prove che nn funzionano...