Je voulais juste savoir s'il y a quelque chose de construit dans le cadre. Net où je peux facilement retourner le delta entre deux nombres? J'ai écrit du code qui fait ça mais ça ressemble à quelque chose qui devrait déjà être dans le cadre.C# fonction de trouver le delta de deux nombres
Répondre
N'est-ce pas ce que fait l'opérateur moins? : p
Pas exactement mais belle réponse anway ;-) – Dario
Je suis sous l'impression que "delta" est la différence entre deux nombres.
Jusqu'à ce que vous me dites différemment, je pense que ce que vous voulez est:
delta = Math.Abs(a - b);
Quel est le delta de deux nombres? Delta a une certaine signification dans la théorie des ensembles et le calcul infinitésimal, mais cela ne se réfère pas aux nombres!
Si vous voulez calculer la différence entre deux nombres a et b, vous écrivez |a - b|
qui est Math.
Abs
(a - b)
en C#.
Delta n'a pas une certaine signification dans le calcul infinitésimal, il est simplement un symbole couramment utilisé. – jason
Jason, dans delta de calcul peut se référer à la fonction delta de Diracs et a donc une signification bien définie. Une définition différente qui est largement utilisée est le delta de Kroneckers. D'où Dario a raison, quand il demande une clarification.La question des PO est quelque peu ambiguë. – Accipitridae
public static int Delta(int a, int b)
{
int delta = 0;
if (a == b)
{
return 0;
}
else if (a < b)
{
while (a < b)
{
a++;
delta++;
}
return delta;
}
else
{
while (b < a)
{
b++;
delta++;
}
return delta;
}
}
: p
Oh boy, je l'espère pas (futur) employeur vient à travers cela et arrête la lecture de dégoût avant qu'il arrive à la fin de ce post ..
public static int Delta(int a, int b)
{
return a > 0? Delta(a-1, b-1) : a < 0 ? Delta(a+1, b+1) : b > 0 ? b : -b;
}
Je pense c'est encore mieux que l'implémentation @JulianR Delta :-p
Edit: Je ne savais pas que cela avait déjà été suggéré par @Robert Harvey, crédit à lui ;-)
Oh, c'est beaucoup mieux. Récursion * et * opérateurs ternaires enchaînés! –
Ouais, et ça marche même! XD Je pensais que j'aurais fait une erreur, mais étonnamment pas^_ ^ – fortran
J'ai décidé de réviser la réponse amusante de JulianR ci-dessus.
Le code est plus court, mais peut-être plus délicat:
public static int Delta(int a, int b)
{
int delta = 0;
while (a < b)
{
++a;
++delta;
}
while (b < a)
{
++b;
++delta;
}
return delta;
}
(pour la déficience humour .... c'est plus grave que la question bizarre qui a commencé le fil)
Le Version Linq (nécessite CLR 4.0).
(doigts fissures, la gorge efface)
var delta = (from t in Enumerable.Range(a, a).Zip(Enumerable.Range(b, b))
select Math.Abs(t.Item1 - t.Item2))
.First();
(r1+r2)/2
Avarage entre deux nombres.
Cette question permet-elle de déterminer si les flotteurs se situent dans une plage donnée? (sinon c'est plus ou moins un problème de soustraction ... – nos
Soustraction ... palpeur difficile de l'addition – Michael