• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# Sortowanie danych w tablicy.

Cloud VPS
0 głosów
3,284 wizyt
pytanie zadane 27 września 2020 w C# przez Masterkk121 Początkujący (280 p.)

Witam serdecznie, mam problem co zrobić aby dane w tablicy były sortowane za pomocną metody sort? ( Cały czas wyskakuje problem z typem danych generycznych i konwersacja na int)

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

namespace dd
{



    class Program
    {
        private static int j, i;
        private static List<int> x;

        static void Sort<T>(List<int> tablica, params int[] tab)
        {
            for (int i = 1; i < tab.Length; i++)
            {
                for (j = tab.Length - 1; j >= i; j--)
                {
                    if (tab[j - 1] > tab[j])
                    {
                        int temp = tab[j];
                        tab[j] = tab[j - 1];
                        tab[j - 1] = temp;
                    }
                }
            }


        }




        static void Main(string[] args)
        {


            List<int> tablica = new List<int>();

            Random r = new Random();
            for (int i = 0; i < 10; i++)
            {
                tablica.Add(r.Next(1, 1000));
                Console.WriteLine();
            }
            for (int i = 0; i < 10; i++)
            {
                tablica[i] = Sort();
                Console.WriteLine(tablica[i] + " ");
            }

        }



    }

}

 

 

 

2 odpowiedzi

+1 głos
odpowiedź 27 września 2020 przez adrian17 Mentor (354,620 p.)

Um... ten kod ma mało sensu.

static void Sort<T>(List<int> tablica, params int[] tab)

Ta metoda jest generyczna po T, ale nigdzie tego T nie używasz.

Sort bierze dwa argumenty i nic nie zwraca (void), ale używasz ją tak:

tablica[i] = Sort();

nie przekazujesz argumentów, mimo że miał je brać. Sort nic nie zwraca, ale używasz jego wartość zwracaną. W dodatku... przypisujesz wynik sort() do elementu tablicy?

Ciężko zrozumieć, co w ogóle tutaj chcesz zrobić. Mam wrażenie, że powinieneś się cofnąć i powtórzyć jak się wywołuje metody.

0 głosów
odpowiedź 28 września 2020 przez VBService Ekspert (256,600 p.)
edycja 29 września 2020 przez VBService

A nie możesz skorzystać z wbudowanych w c# funkcji sortowania?

Ten zapis jest "dziwny", załóżmy, że funkcja Twoja ( Sort() ) działa:

pobiera całą tablicę do sortowania:

static void Sort<T>(List<int> tablica, params int[] tab)
            for (int i = 0; i < 10; i++)
            {
                tablica[i] = Sort();
                Console.WriteLine(tablica[i] + " ");
            }

to według tego kodu każdy pojedynczy wpis w tablicy ma być sortowany?

A może, po prostu tak ...

using System;
using System.IO;

class MainClass
{
    static void Main(string[] args)
    {
        int[] tablica = new int[10];
        int lenght = tablica.Length;

        Random rnd = new Random();
        for (int i=0; i<lenght; ++i)
        {
            tablica[i] = rnd.Next(1,1000);
        }

        Console.WriteLine("Tablica przed sortowaniem");
        for (int i=0; i<lenght; ++i)
        {
            Console.Write(tablica[i] + " ");
        }

        Array.Sort(tablica);

        Console.WriteLine();
        Console.WriteLine("Tablica po sortowaniu");
        for (int i=0; i<lenght; ++i)
        {
            Console.Write(tablica[i] + " ");
        }

        Console.WriteLine();
        Console.ReadKey();
    }
}

Podobne pytania

0 głosów
2 odpowiedzi 458 wizyt
pytanie zadane 7 czerwca 2015 w C i C++ przez Pinio Gaduła (3,520 p.)
+1 głos
1 odpowiedź 990 wizyt
pytanie zadane 4 stycznia 2020 w C# przez startCoding Obywatel (1,210 p.)
0 głosów
2 odpowiedzi 784 wizyt
pytanie zadane 5 stycznia 2019 w Java przez Xarti Obywatel (1,380 p.)

93,483 zapytań

142,417 odpowiedzi

322,763 komentarzy

62,895 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...