Diskuze: Jak vypsat seřazené pole
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 25 zpráv z 25.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
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]);
}
}
}
}
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
Myslím, že by stačilo jen tohle.
program.Vypis(Array.Sort(array));
tak ono by se to chtelo aj trochu zamyslet ze
metoda "Vypis" prijima argument typu pole a metoda Sort vraci void
Hele jestli nejsem slepej tak SortArray nevraci void, ale ksonny
volá nejspíš nexistujíci metodu Sort když existuje jen SortArray
Ne, metoda SortArray neexistuje, ale Sort ve třídě Array, jak psal Kaczmi, pro jistotu jsem googlil: http://www.csharp-examples.net/sort-array/
Na co by ta metoda byla, kdyby nic nevracela?
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?
Array.Sort by měl fungovat, díky tomu nemusíš psát třídící algoritmus.
Ale to je vlastní metoda
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.
Já vím, ale já si jí nevšiml, a nemam nic proti zápisu vlastního algoritmu.
program.Vypis(SortArray(array));
A ta metoda SortArray by asi neměla být statická
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
Zobrazeno 25 zpráv z 25.