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

C# Sortowanie danych w tablicy.

Object Storage Arubacloud
0 głosów
2,676 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 Ekspert (344,860 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 (252,740 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 351 wizyt
pytanie zadane 7 czerwca 2015 w C i C++ przez Pinio Gaduła (3,520 p.)
+1 głos
1 odpowiedź 742 wizyt
pytanie zadane 4 stycznia 2020 w C# przez startCoding Obywatel (1,210 p.)
0 głosów
2 odpowiedzi 548 wizyt
pytanie zadane 5 stycznia 2019 w Java przez Xarti Obywatel (1,380 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...