Wpis z mikrobloga

public class Task5
{
public static List GetRandomSortList()
{
Random r = new Random();
List list = new List (20){};
for (int i = 0; i < 20; i++) {
list.Add(r.Next(1, 20));
}
list = list.OrderBy (a => a).ToList();
return list;
}
}

//wywołanie (przykład)
var randomSortList = Task5.GetRandomSortList ();
foreach (var random in randomSortList) {
Console.WriteLine (random);
}
Console.ReadKey ();
  • Odpowiedz
public class DD {
public int[] sortedRandomInts () {
Random random = new Random();
int[] arr = new int[20];
return Arrays.stream(arr).map(a->random.nextInt(21)).sorted().toArray();
}
public static void main(String... args) {
System.out.println(Arrays.toString(new DD().sortedRandomInts()));
}
}
  • Odpowiedz
Tylko ze powyzsze rozwiazania z nauka programowania to maja malo wspolnego. Zeby moc uzywac Java API trzeba najpierw udowodnic, ze sie zna tez droge na pieszo, na przyklad implementujac sobie pod to zadanie MergeSort, albo nawet BubbleSort jesli jest mowa o nauce programowania. Podejrzewam, ze to wlasnie mialo to zadanie na celu, na pewno nikt by takiego prostego problemu nie postawil, po to zeby zobaczyc jedna linijke kodu...
  • Odpowiedz
@xrbartek:
public static void main(String[] args) {
int i = 0;

double tablica[] = new double [20];
while(i<20)
{


tablica [i]= Math.round(Math.random()*100);

tablica[i]++;
i++;
}
Arrays.sort(tablica);
for(double number:tablica)

{
System.out.println(number);

}
  • Odpowiedz
@Leschek: w takim razie treść zadania powinna brzmieć: zaimplementuj algorytm sortujący i użyj go do posortowania 20elementowej tablicy losowo wygenerowanych liczb z przedzialu 1-20.

Gdy zadanie jest sformułowane tak @xrbartek napisal, to powyższe kody są poprawne.

c++
std::random_device rd;
std::mt19937 mt(rd());
std::uniform_int_distribution dist(1,20);

std::vector nums;
nums.reserve(20);
std::generate_n(std::back_inserter(nums), 20, [&]{return dist(mt);});

std::sort(nums.begin(), nums.end());

std::copy(nums.begin(), nums.end(), std::ostream_iterator(std::cout, ","));
  • Odpowiedz
@nargil: Nie mowie ze aa niepoprawne, mialem na mysli ze to ze poszli na latwizne i w tym tez nie ma nic zlego ale jesli jest mowa o programowaniu ogolnie. adania sformulowane w taki sposob pojawiajabsie jedynie na egsaminach, kursach czy tez konkursach, gdzie z gory jest zastrzezone ze nie wolno uzywac danych bibliotek. No chyba ze olynpiada polegalaby na tym, kto napisze najkrotsze (najmniej linijek kodu) rozwiazanie. Peace.
  • Odpowiedz
@xrbartek: Rozwiązanie w Haskellu:

import System.Random
import Data.List
import Control.Monad (replicateM)

drawInt :: Int -> Int -> IO Int
drawInt a b = getStdRandom (randomR (a,b))

main = replicateM 20 (drawInt 1 20) >>= return . sort >>= print
  • Odpowiedz