09/07/09 12:45
xeeynamo
Salve a tutti!
Mi servirebbe per un progettino personale realizzare un ciclo che riempa totalmente un vettore bidimensionale. L'algoritmo per me non è un problema, di fatti in 2 o 3 minuti ho completato l'algoritmo principale senza problemi, però c'è un problema enorme che mi costringe ad arrestare questo piccolo progetto: la funzione rand() non è efficiente al 100%... Di fatti con un vettore bidimensionale 80x24 (1920 celle), ne riesce a riempire solamente 808, meno della metà...
Questo è l'algoritmo che ho sviluppato:
Mi servirebbe per un progettino personale realizzare un ciclo che riempa totalmente un vettore bidimensionale. L'algoritmo per me non è un problema, di fatti in 2 o 3 minuti ho completato l'algoritmo principale senza problemi, però c'è un problema enorme che mi costringe ad arrestare questo piccolo progetto: la funzione rand() non è efficiente al 100%... Di fatti con un vettore bidimensionale 80x24 (1920 celle), ne riesce a riempire solamente 808, meno della metà...
Questo è l'algoritmo che ho sviluppato:
#include <stdio.h> #include <stdlib.h> #include <windows.h> int Rand(int r){ int i=rand(); for(;i>r;i-=r); return i; } void SetXY(byte x, byte y){ COORD coord={x,y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord); } #define SX 80 #define SY 24 int main(){ bool v[SX][SY]; int x,y; while(1){ x=Rand(SX); y=Rand(SY); if (!v[x][y]){ SetXY(x,y); printf("X"); v[x][y]=1; } } }
aaa