Potrzebuję napisać kod który będzie losował 5 rożnych liczb w przedziale od 1 do 6 i obliczy ich sumę. Czy można zrobić do np w pętli ? Jeśli tak to jak ma to wyglądać a jeśli nie jak zrobić to bez niej. Z góry dziękuje za odpowiedz. :)
0
0
Random rn1 = new Random();
int sum = 0;
for (int i = 0; i < 5; i++)
{
int liczba = rn1.Next(1, 7);
sum += liczba;
Console.WriteLine("----> {0}", liczba);
}
Console.WriteLine("suma: {0}", sum);
ps. Specjalnie rozwleczone żebyś widział, że są liczby i skąd suma.
0
Random rand = new Random();
var suma = Enumerable.Range(1, 5).Select(x => rand.Next(1, 7)).Sum();
pisane z palca, moze nie zadzaialac
2
W podanym przedziale jest 6 różnych liczb. Ich suma to 21. Wystarczy, że wylosujesz jedną i odejmiesz ją od sumy.
0
szweszwe napisał(a):
W podanym przedziale jest 6 różnych liczb. Ich suma to 21. Wystarczy, że wylosujesz jedną i odejmiesz ją od sumy.
Tak? A jak wylosuje 1,1,1,1,1 to co?
1
fasadin napisał(a):
Random rand = new Random(); var suma = Enumerable.Range(1, 5).Select(x => rand.Next(1, 7)).Sum();
pisane z palca, moze nie zadzaialac
Wydaje się, że działa po sprawdzeniu.
1
Wszystko się da, nawet w jednej linijce:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ForProgCS
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Enumerable.Range(1, 7).OrderBy(g => Guid.NewGuid()).Take(5).ToArray().Sum());
}
}
}
0
Random rnd = new Random();
List<int> lista = new List<int>();
while (lista.Count < 5)
{
var rndNum = rnd.Next(1, 7);
if (!lista.Contains(rndNum))
lista.Add(rndNum);
}
Console.WriteLine("Suma: " + lista.Sum());
Console.WriteLine("-----------");
foreach (var item in lista)
{
Console.WriteLine(item);
}
0
Kodu od Fasadina nie używaj, bo i tak Ci profesor nie uwierzy, że to Twój :)