Losowanie i dodawanie sumy

0

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
            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 :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1