Jak dodać listę do Dictionary<enum, mytype>

0

Witam, mam pytanie jak dodać wszystkie posortowane średnie do klucza enum średnianieokreślona?

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

namespace pp
{
    public enum Srednia
    {
        srednianieokresona, sredniaNajnizsza, sredniaNajwyzsza
    }

    class Program
    {
        static void Main(string[] args)
        {
            RandomNumber random = new RandomNumber();
            Dictionary dicc = new Dictionary();
            dicc.Slownik();
            Console.ReadKey();
        }
    }

    class RandomNumber
    {
        public List<int> lista = new List<int>();

        public RandomNumber()
        {

            Random rng = new Random();

            for (int i = 0; i < 10; i++)
            {

                lista.Add(rng.Next(1, 100));

            }
        }
    }

    class Dictionary 
    {

        public List<RandomNumber> lista2 = new List<RandomNumber>();

        Dictionary<Srednia, RandomNumber> slownik = new Dictionary<Srednia, RandomNumber>();

        public void Slownik()
        {
            for (int j = 0; j < 100; j++)
            {

                lista2.Add(new RandomNumber());
            }
            int lenght = lista2.Count;


            for (int i = 1; i < lenght; i++)
            {
                for (int l = lenght - 1; l >= i; l--)
                {
                    if (lista2[l - 1].lista.Average() > lista2[l].lista.Average())
                    {
                        RandomNumber temp = lista2[l];
                        lista2[l] = lista2[l - 1];
                        lista2[l - 1] = temp;
                    }

                }
                Console.WriteLine(lista2[i].lista.Average());
            }

            slownik.Add(Srednia.sredniaNajnizsza, lista2.First());

            slownik.Add(Srednia.sredniaNajwyzsza, lista2.Last());

           foreach (var item in slownik)
            {
                Console.WriteLine(item.Key + " : " + item.Value.lista.Average());


            }



           
        }
    }
}
   
0

Nie rozumiem pytania
przecież już dodajesz coś do Dictionary

slownik.Add(Srednia.sredniaNajnizsza, lista2.First());

co ma być dla klucza srednianieokresona liczba, lista?

0
jakubek napisał(a):

Nie rozumiem pytania

przecież już dodajesz coś do Dictionary

slownik.Add(Srednia.sredniaNajnizsza, lista2.First());

co ma być dla klucza srednianieokresona liczba, lista?

Ale w zadaniu mam dodać do klucza średnianieokreslona cala listę średnich pozostałą dodaje tylko min i max bo te znalazłem po przesortowaniu listy

1

dalej nie rozumiem
ogólnie - przepraszam za pytanie, ale czy wiesz co robisz?

generalnie
masz słownik enum - lista

masz listę list - mieszasz je - dodajesz listę z najmiejsza i największą średnią do słownika

i nagle do słownika enum lista - chcesz wsadzić listę list?
tak mam rozumieć

mam dodać do klucza średnianieokreslona cala listę średnich pozostałą

czy to mają być średnie z listy list?
przede wszystkim co tam chcesz wstawić?

Przepraszam, za uwagę, ale najpierw opowiedz sobie co chcesz zrobić, opowiedz sobie co ten kod robi i porównaj 1 z 2.

0
jakubek napisał(a):

dalej nie rozumiem

ogólnie - przepraszam za pytanie, ale czy wiesz co robisz?

generalnie
masz słownik enum - lista

masz listę list - mieszasz je - dodajesz listę z najmiejsza i największą średnią do słownika

i nagle do słownika enum lista - chcesz wsadzić listę list?
tak mam rozumieć

mam dodać do klucza średnianieokreslona cala listę średnich pozostałą

czy to mają być średnie z listy list?
przede wszystkim co tam chcesz wstawić?

Przepraszam, za uwagę, ale najpierw opowiedz sobie co chcesz zrobić, opowiedz sobie co ten kod robi i porównaj 1 z 2.

W zadaniu miałem zrobić listę która zawiera 100 elementów klasy RandomNumber czyli lista2 zawiera 100 list po 10 elementów z pierwszej klasy i dla każdej listy 10 elementów Licze średnia i mam wypisać w słowniku średnia nieokreśloną czyli wszystkie pozostałe średnie i średnia najmniejsza i najwieksza z tych list te udało mi nie znaleŹć ale nie wiem jak dodać listę 100 elementów do słownika do jednego klucza.

0

W zadaniu miałem zrobić listę która zawiera 100 elementów klasy RandomNumber czyli lista2 zawiera 100 list po 10 elementów z pierwszej klasy i dla każdej listy 10 elementów Licze średnia i mam wypisać w słowniku średnia nieokreśloną czyli wszystkie pozostałe średnie i średnia najmniejsza i najwieksza z tych list te udało mi nie znaleŹć ale nie wiem jak dodać listę 100 elementów do słownika do jednego klucza.

zagmatwane to wszystko
z jednej strony piszesz o średnich
z drugiej do słownika dodajesz listę wszystkich liczb czy to średnia czy nie

na szybko taki kod
nie mam pojecia czy realizuje to co chesz - ale tak na czuja

class Averages
{
 public  int Min {get; set;}
 public  int Max {get; set;}
 public  IList<int> All {get; set;}
}

public void main()
{
    var allAvg = list2.select(x=>x.Average()).Sort().ToList();
   
  var avgs = new Averages
 {
   Min  = allAvg.First();
   Max  = allAvg.Last();
  All = allAvg;
 }
}
```
0

Wiesz co? Weź przepisz to zadanie albo przeczytaj to i staraj się zrozumieć:

W zadaniu miałem zrobić listę która zawiera 100 elementów klasy RandomNumber
czyli
lista2 zawiera 100 list po 10 elementów z pierwszej klasy

Co to jest lista2?
Co to jest pierwsza klasa?
Skąd wziąłeś 100 list po 10 elementów skoro miałeś zrobić jedną listę po 100 elementów?

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