Losowanie i dodawanie sumy

Losowanie i dodawanie sumy
Maciek Piechota
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
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. :)

gg
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 574
0
Kopiuj
            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.

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0
Kopiuj
Random rand = new Random();
var suma = Enumerable.Range(1, 5).Select(x => rand.Next(1, 7)).Sum();

pisane z palca, moze nie zadzaialac

szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
2

W podanym przedziale jest 6 różnych liczb. Ich suma to 21. Wystarczy, że wylosujesz jedną i odejmiesz ją od sumy.

gg
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 574
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?

gg
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 574
1
fasadin napisał(a):
Kopiuj
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.

grzesiek51114
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2442
1

Wszystko się da, nawet w jednej linijce:

Kopiuj
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());
        }
    }
}
SK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 117
0
Kopiuj

            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);
            }
 
Luki91
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Bytom
  • Postów: 81
0

Kodu od Fasadina nie używaj, bo i tak Ci profesor nie uwierzy, że to Twój :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.