Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-02-2005, 17:18   #1
ALIEN3
Senior Member
 
L'Avatar di ALIEN3
 
Iscritto dal: Oct 2001
Messaggi: 3015
borland e random

Non riesco a capire come si utilizza randomize in borland: dovrei farmi stampare quattro numeri casuali, compresi tra 0 e 9 ma diversi tra loro
ex:
a=9
b=4
c=1
d=8

grazie a chi mi aiuterà

Byezzzzzzz zzzzzzzz
ALIEN3 è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2005, 20:00   #2
DarkTemplar
Member
 
L'Avatar di DarkTemplar
 
Iscritto dal: Nov 2004
Messaggi: 220
Randomize lo scrivi una sola volta in tutto il programma.
Solitamente lo scrivo dopo aver dichiarato le variabili nel main.
P.S.:non sono un esperto.
DarkTemplar è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2005, 22:44   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ma che linguaggio è ? Se è C/C++ puoi sempre usare le funzioni standard...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2005, 06:59   #4
ALIEN3
Senior Member
 
L'Avatar di ALIEN3
 
Iscritto dal: Oct 2001
Messaggi: 3015
C++e uso borland

Byezzzzzzz zzzzzzzzzzzzzzz
ALIEN3 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2005, 08:54   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ma Borland quale ? Che versione ?

Comunque puoi usare queste istruzioni standard:

#include <time.h>
#include <stdlib.h>

Poi da richiamare una sola volta nel tuo programma:

srand((unsigned)time(NULL)); //se non ti funziona richiama randomize(); contenuta in conio.h, ma è la versione non standard supportata solo da Borland

Per avere un numero random tra 0 e N-1:

int num = ((double)rand())/(RAND_MAX+1) * N; //se non ti funziona devi usare il corrispondente che funziona solo su Borland: random(N);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2005, 09:41   #6
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
guarda cerca nell'help del borlan ci sono gli esempi fai prima

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2005, 14:35   #7
ALIEN3
Senior Member
 
L'Avatar di ALIEN3
 
Iscritto dal: Oct 2001
Messaggi: 3015
Il problema è che non voglio che i numeri siano ripetuti: non è tanto la funzione random, quanto non riesco a capire come non farli apparire uguali. Cioè sull'help non so come si chiama la funzione di disuguaglianza o diverso.

Byezzzzzzz zzzzzzzzzzzz
ALIEN3 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2005, 14:37   #8
ALIEN3
Senior Member
 
L'Avatar di ALIEN3
 
Iscritto dal: Oct 2001
Messaggi: 3015
La versione di vorland è Borland builder 5.

Byezzzzzzz zzzzzzzzzz
ALIEN3 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2005, 15:26   #9
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
Quote:
Originariamente inviato da ALIEN3
Il problema è che non voglio che i numeri siano ripetuti: non è tanto la funzione random, quanto non riesco a capire come non farli apparire uguali. Cioè sull'help non so come si chiama la funzione di disuguaglianza o diverso.

Byezzzzzzz zzzzzzzzzzzz
ahhh ho capito quello che intendi ... te dici una cosa del genere:

Codice:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int Value(){
	return (rand()%10);
}

int main (void){
	int a, b, c, d;
	srand (time (NULL));
	a = Value();
	do{
		b = Value();
	}while (b==a);
	do{
		c = Value();
	}while (c==a || c==b);
	do{
		d = Value();
	}while (d==a || d==b || d==c);

	printf ("a:\t%d\nb:\t%d\nc:\t%d\nd:\t%d\n",a,b,c,d);
	system ("PAUSE");
	return (0);
}
è l'unico metodo dato che rand non si può ricordare quale valore ha restituito.

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 14:46   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Così è errato perchè può portare in teoria ad un ciclo infinito...
Mentre per quattro variabili:
Codice:
#define N 10

int main (void){
	int a, b, c, d;
	srand (time (NULL));
	a = Value(N);
	b = Value(N-1);
	if (b==a)
	{
		++b;
	}
	c = Value(N-2);
        if(c>=a && c>=b) c+=2;
        else if(c>=a || c>=b) ++c;

	while (c==a || c==b)
		++c;

	d = Value(N-3);
	
	if(d>=a && d>=b && d>=c) d+=3
 	else if((d>=a && d>=b) || (d>=a && d>=c) || (d>=c && d>=b)) d+=2;
 	else if(d>=a || d>=b || d>=c) ++d;

	while (d==a || d==b || d==c)
		++d;

	printf ("a:\t%d\nb:\t%d\nc:\t%d\nd:\t%d\n",a,b,c,d);
	system ("PAUSE");
	return 0;
}
Se ne può fare anche una versione per un numero generico di variabili...

Ultima modifica di cionci : 22-02-2005 alle 17:28.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 16:10   #11
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
scusa ma così ristringo sempre il campo ... non perdo valori??

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 16:16   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Fenomeno85
scusa ma così ristringo sempre il campo ... non perdo valori??

~§~ Sempre E Solo Lei ~§~
No perchè se vuoi una estrazione senza ripetizione (pensa ad esempio alla tombola)...ad ogni estrazioni i possibili numeri che possono uscire diminuiscono sempre
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 16:28   #13
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
si ok ma io non elimino il valore estratto ma l'ultimo del range

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 17:16   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Azzz...ho sbagliato Correggo... Magari con questa corezzione capirai meglio ciò che voglio fare (che rispetta la distribuzione statistica)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 17:18   #15
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
noo cade un mito

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 17:36   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
In pratica i numeri estratti che hanno comunque una numerazione da 0 a N-2 (prendendo per esempio l'ultimo estratto), sono di fatto l'indice del numero da estrarre all'interno della popolazione rimasta...

Ad esempio da 1 a 10 estraggo 3 e 7...ora voglio estrarre un altro numero...

Estraggo un numero da 1 a 8...mettiamo sia 6...

I numeri rimasti da estrarre sono 1,2,4,5,6,8,9,10...quindi il sesto esemplare di questa popolazione è il numero 8 Il codice sopra vuole fare questo...

Ovviamente per fare estrazioni di questo tipo si fa prima con una funzione generica...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 17:38   #17
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
ok capito

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 17:44   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ad esempio questo codice per niente ottimizzato fa al caso suo:
Codice:
/* estrazione senza reimbussolamento di m elementi
su una popolazione di n elementi (da 1 a n) */
int vettore_casuale(int *v, int m, int n)
{
   char *v2;
   int i, j;
   if(m > n)
      return 1;
   v2 = (char *) calloc(n, sizeof(char));
   for(i=0; i<m; i++)
   {
      v[i] = (((double)rand())/RAND_MAX)*(n-i) + 1;
      j = 0;
      while(v[i] > 0 )
      {
         if(v2[j++] == 0)
            v[i]--; 
      }
      v2[j-1] = 1;
      v[i] = j;
   }
   free(v2);
   return 0;
}
Altre soluzioni sarebbero molto semplici (come codice, ma magari di una durata temporale maggiore)...ad esempio tramite un vector in C++ che contiene tutti gli elementi della popolazione...man mano che un elemento viene estratto basta indicizzarlo tramite il numero random tirato su e successivamente eliminarlo dal vettore con erase...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2005, 19:37   #19
ALIEN3
Senior Member
 
L'Avatar di ALIEN3
 
Iscritto dal: Oct 2001
Messaggi: 3015
Non mi collego un giorno e trovo tutto questa bella robba da sperimentare

Byezzzzzzzz zzzzzzzzzzz
ALIEN3 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Axiom Space e Prada mostrano lo strato i...
Uno dei satelliti Rassvet-3 di Bureau 14...
Con il razzo spaziale Lunga Marcia 9, la...
Cavi sottomarini come sensori: la Finlan...
Exodus è il nuovo Mass Effect? Il...
Lockdown Mode cambia il volto di ChatGPT...
Guild Wars 3 è ufficiale: ArenaNe...
I giocatori voltano le spalle a Linux? L...
Instagram Plus arriva in Italia: cosa in...
XBOX: la nuova CEO non ha ancora le idee...
Intel non ha intenzione di abbandonare i...
La AI Mode sarà attiva di default...
Marvel's Wolverine non sarà un op...
Star Wars Zero Company esce ad agosto: n...
Bonus Decoder: fino al 70% di sconto con...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:04.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v