Avatar
ksonny
Člen
Avatar
ksonny:3.9.2014 23:57

Ahoj, jak vypíši seřazané pole? Jde mi vypsat akorát neseřazené :( Předem díky za odpověď :)

using System;

namespace sorty
{
    class Program
    {
        public static void Main(string[] args)
        {
            Program program = new Program();


            int[] array = { 1,85,52,4,-56,4,55626,1,765,86,65};


            program.Vypis(array);

            Console.ReadKey();
        }

        public static int[] SortArray(int[] array)
        {


            int temp = array[0];


            for (int i = 0; i < array.Length; i++)
            {
                for (int j = i + 1; j < array.Length; j++)
                {
                    if (array[i] > array[j])
                    {
                        temp = array[i];

                        array[i] = array[j];

                        array[j] = temp;
                    }
                }
            }

            return array;
        }

        public void Vypis(int [] array)
        {
            for(int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array[i]);
            }
        }



    }
}
Editováno 4.9.2014 0:00
 
Odpovědět 3.9.2014 23:57
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na ksonny
Jan Vargovský:4.9.2014 0:16

Začal bych tím, že bych tu metodu na sort zavolal.

 
Nahoru Odpovědět 4.9.2014 0:16
Avatar
ksonny
Člen
Avatar
Odpovídá na Jan Vargovský
ksonny:4.9.2014 1:01

Děkuju za bleskovou odpověď :)Díky blokaci odpovědi jsem na to nakonec po chvíli přišel, musel jsem odstranit static, děkuji :)

/*
 * Created by SharpDevelop.
 * User: KSonny
 * Date: 3.9.2014
 * Time: 22:09
 *
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace sorty
{
    class Program
    {
        public static void Main(string[] args)
        {
            Program program = new Program();


            int[] array = { 1,85,52,4,-56,4,55626,1,765,86,65};


            program.SortArray(array);
            program.Vypis(array);


            Console.ReadKey();
        }

        public int[] SortArray(int [] array)
        {


            int temp = array[0];


            for (int i = 0; i < array.Length; i++)
            {
                for (int j = i + 1; j < array.Length; j++)
                {
                    if (array[i] > array[j])
                    {
                        temp = array[i];

                        array[i] = array[j];

                        array[j] = temp;
                    }
                }
            }

            return array;
        }

        public void Vypis(int [] array)
        {
            for(int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array[i]);
            }
        }



    }
}
Editováno 4.9.2014 1:02
 
Nahoru Odpovědět 4.9.2014 1:01
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na ksonny
Jan Vargovský:4.9.2014 1:33

Ono by to šlo hledat i s tou statikou, jen bys to volal na název té třídy místo na instanci. Takže bys jen zavolal Program.Sort(...), popřípadě jen Sort(...), když už jsi uvnitř té třídy :)

 
Nahoru Odpovědět 4.9.2014 1:33
Avatar
Lukáš Křehula
Redaktor
Avatar
Lukáš Křehula:4.9.2014 9:14

Myslím, že by stačilo jen tohle.

program.Vypis(Array.Sort(array));
 
Nahoru Odpovědět 4.9.2014 9:14
Avatar
ksonny
Člen
Avatar
ksonny:4.9.2014 9:56

Vyzkouším doma, diky :)

 
Nahoru Odpovědět 4.9.2014 9:56
Avatar
ksonny
Člen
Avatar
Odpovídá na Lukáš Křehula
ksonny:4.9.2014 13:56

tak to nejde :)

program.Vypis(Array.Sort(array));
 
Nahoru Odpovědět 4.9.2014 13:56
Avatar
Odpovídá na ksonny
sadlomaslox25:4.9.2014 14:02

tak ono by se to chtelo aj trochu zamyslet ze ;)
metoda "Vypis" prijima argument typu pole a metoda Sort vraci void

 
Nahoru Odpovědět 4.9.2014 14:02
Avatar
Odpovídá na sadlomaslox25
Ondřej Štorc:4.9.2014 15:24

Hele jestli nejsem slepej tak SortArray nevraci void, ale ksonny volá nejspíš nexistujíci metodu Sort když existuje jen SortArray :)

Nahoru Odpovědět  +2 4.9.2014 15:24
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na Ondřej Štorc
Šimon Raichl:4.9.2014 15:37

Ne, metoda SortArray neexistuje, ale Sort ve třídě Array, jak psal Kaczmi, pro jistotu jsem googlil: http://www.csharp-examples.net/sort-array/

 
Nahoru Odpovědět  -1 4.9.2014 15:37
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na sadlomaslox25
Šimon Raichl:4.9.2014 15:40

Na co by ta metoda byla, kdyby nic nevracela?

Editováno 4.9.2014 15:43
 
Nahoru Odpovědět 4.9.2014 15:40
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Šimon Raichl
Jiří Gracík:4.9.2014 15:41

Metodu SortArray tam má on napsanou ...

Nahoru Odpovědět 4.9.2014 15:41
Creating websites is awesome till you see the result in another browser ...
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na Jiří Gracík
Šimon Raichl:4.9.2014 15:43

No právě že má

 
Nahoru Odpovědět 4.9.2014 15:43
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Šimon Raichl
Jiří Gracík:4.9.2014 15:45
public static int[] SortArray(int[] array)
         {


             int temp = array[0];


             for (int i = 0; i < array.Length; i++)
             {
                 for (int j = i + 1; j < array.Length; j++)
                 {
                     if (array[i] > array[j])
                     {
                         temp = array[i];

                         array[i] = array[j];

                         array[j] = temp;
                     }
                 }
             }

             return array;
         }

Tak v tom případě existuje, ne?

Editováno 4.9.2014 15:46
Nahoru Odpovědět 4.9.2014 15:45
Creating websites is awesome till you see the result in another browser ...
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na ksonny
Šimon Raichl:4.9.2014 15:46

Array.Sort by měl fungovat, díky tomu nemusíš psát třídící algoritmus.

 
Nahoru Odpovědět 4.9.2014 15:46
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na Jiří Gracík
Šimon Raichl:4.9.2014 15:47

Ale to je vlastní metoda

Editováno 4.9.2014 15:47
 
Nahoru Odpovědět 4.9.2014 15:47
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na Jiří Gracík
Šimon Raichl:4.9.2014 15:48

Já myslel C# metodu Sort

 
Nahoru Odpovědět 4.9.2014 15:48
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Šimon Raichl
Jiří Gracík:4.9.2014 15:49

A to znamená, že neexistuje? Aha.

Mimochodem, z nějakého důvodu asi má vlastní metodu na třídění, jen tak tam nebude.

Nahoru Odpovědět 4.9.2014 15:49
Creating websites is awesome till you see the result in another browser ...
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na Jiří Gracík
Šimon Raichl:4.9.2014 15:50

Já vím, ale já si jí nevšiml, a nemam nic proti zápisu vlastního algoritmu.

 
Nahoru Odpovědět 4.9.2014 15:50
Avatar
ksonny
Člen
Avatar
ksonny:4.9.2014 16:09

prostě jsem si jen hrál s metodami, chtěl jsem vyzkoušet, jak se s tim pracuje, tak jsem si napsal metodu SortArray :)

 
Nahoru Odpovědět  +1 4.9.2014 16:09
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na ksonny
Jiří Gracík:4.9.2014 16:10
program.Vypis(SortArray(array));

A ta metoda SortArray by asi neměla být statická :)

Editováno 4.9.2014 16:11
Nahoru Odpovědět 4.9.2014 16:10
Creating websites is awesome till you see the result in another browser ...
Avatar
ksonny
Člen
Avatar
Odpovídá na Jiří Gracík
ksonny:4.9.2014 19:28

Super, funguje :)

 
Nahoru Odpovědět 4.9.2014 19:28
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na ksonny
Šimon Raichl:4.9.2014 22:48

Jasně proč ne :D? Ale proč to neudělat jednoduššeji?

 
Nahoru Odpovědět 4.9.2014 22:48
Avatar
ksonny
Člen
Avatar
ksonny:4.9.2014 23:44

potřeboval jsem se prostě naučit používat metody a chtěl jsem to vyzkoušet na něco, kde se objevuje pole

 
Nahoru Odpovědět 4.9.2014 23:44
Avatar
Šimon Raichl
Redaktor
Avatar
Odpovídá na ksonny
Šimon Raichl:4.9.2014 23:49

Jak říkám, nic proti tomu nemám, a je jen dobře, že si to zkoušíš, možná se ti to bude někdy hodit :)

 
Nahoru Odpovědět 4.9.2014 23:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 25 zpráv z 25.