PDA

View Full Version : [C#] Variabile con valori random


Taffoman
13-10-2013, 17:04
Salve a tutti, sono arrugginito nella programmazione e facendo un lavoretto mi è sorto un problema:

Voglio sommare ad un variabile in maniera casuale sei numeri finche non si supera una certa soglia. Come farlo?

[Kendall]
13-10-2013, 22:13
Edit: scusate doppio.

[Kendall]
13-10-2013, 22:13
Utilizza la classe Random (namespace System). Come da nome serve appunto a generare numeri casuali. Per i dettagli ti conviene leggerti per bene la relativa documentazione.





Sent from my Lumia 925 using Tapatalk

Taffoman
16-10-2013, 18:06
Grazie mille =D
Però con la classe random mi lascia sempre fisso poi il numero e io vorrei che ogni volta che sommo il valore random cambi, è ho problemi nel riuscire in questo infatti il valore mi rimane sempre costante

[Kendall]
16-10-2013, 18:29
Grazie mille =D
Però con la classe random mi lascia sempre fisso poi il numero e io vorrei che ogni volta che sommo il valore random cambi, è ho problemi nel riuscire in questo infatti il valore mi rimane sempre costante

Spetta questa non l'ho capita. In che senso ti lascia sempre fisso il numero?

Una volta che hai generato un oggetto Random, per ogni nuovo valore Random che vuoi generare devi utilizzare il metodo Next() o uno dei suoi overload.

marco_t
16-10-2013, 23:58
non so se ho capito bene quello che vuoi fare, ma prova questo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace somma_random
{
class Program
{
static void Main(string[] args)
{
int somma = 0,ran=0, limite = 100, cont = 1;
Random genera = new Random();

for (int i = 0; (somma < limite) && (i < 6); i++)
{
ran = genera.Next(1, 100);
somma += ran;
cont++;
}
somma -= ran;

Console.WriteLine("La somma è {0} in {1} cicli",somma,cont);
Console.ReadKey();
}
}
}

Taffoman
24-10-2013, 19:06
@Kendal intedendo come ha fatto marco_t

@marco_t è esattamente ciò che dicevo

Il mio problema è però posso usare solo dei determinati numeri esempio 1, 26 , 57 e non posso usare ad usare il Next(), come devo fare?
Tutte le soluzioni che ho provato mi rendevano fisso il random.

[Kendall]
25-10-2013, 09:44
@Kendal intedendo come ha fatto marco_t

@marco_t è esattamente ciò che dicevo

Il mio problema è però posso usare solo dei determinati numeri esempio 1, 26 , 57 e non posso usare ad usare il Next(), come devo fare?
Tutte le soluzioni che ho provato mi rendevano fisso il random.

Se ho capito quello che vuoi puoi creare un array dei valori accettati (1,26,57,ecc...) e poi utilizzare il numero random (da zero alla lunghezza dell'array - 1) per selezionare appunto randomicamente uno di questi valori...
Il risultato e' quello che cerchi tu.

marco_t
26-10-2013, 18:09
;40168845']Se ho capito quello che vuoi puoi creare un array dei valori accettati (1,26,57,ecc...) e poi utilizzare il numero random (da zero alla lunghezza dell'array - 1) per selezionare appunto randomicamente uno di questi valori...
Il risultato e' quello che cerchi tu.
quoto la soluzione di kendall... occhio che nel mio codice c'è un errore metti un if d'avanti alla sottrazione, se no ti fa la sotrazione ogni volta che esce dal ciclo

lorenzo001
26-10-2013, 18:41
d'avanti

:cry:

marco_t
26-10-2013, 20:52
:cry:

se è per il mio italiano, io ho la scusa che non è la mia lingua madre ;)