Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
swift week + discount 30
Avatar
Frestyle
Člen
Avatar
Frestyle:27.2.2018 14:48

Ahoj, mám pole: 823,1100,300,900
Potřebuji docílit toho aby jsem pole vypisoval od největšího.
foreach(pole){ //řadím od největšího
Text += pole;
}

Předem děkuji a snad to bude alespoň trošku náročnější dotaz ať nejsem za úplného ....

 
Odpovědět
27.2.2018 14:48
Avatar
Nahoru Odpovědět
27.2.2018 15:06
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Frestyle
Člen
Avatar
Frestyle:27.2.2018 15:23

Ten odkaz jsem četl už předtím a nikde jsem neviděl možnost zjištění a vypsání podle velikosti. Dobře a co složitější, když je třeba text zapsán: string txt = 23/823/22|13/­1100/12|33/300/32|53/900­/52

Tohle už oříšek je, ne? Vypsal jako cyklus od největšího. Děkuju

 
Nahoru Odpovědět
27.2.2018 15:23
Avatar
Petr Zajac
Člen
Avatar
Odpovídá na Frestyle
Petr Zajac:27.2.2018 15:37

S použitím zmíněného článku
https://www.itnetwork.cz/…torial-pole/
Bych to viděl asi následovně : ;-)
(pokud bys "hodnoty" dával jako řetězce, tak by ti je to nesrovnalo správně)

 
Nahoru Odpovědět
27.2.2018 15:37
Avatar
Odpovídá na Frestyle
Radek Chalupa:27.2.2018 15:39

Co máš vlastně jako vstup? pole čísel nebo jeden string ve kterém jsou "nějak" zapsaná čísla? Pokud je to v stringu, tak můžeš použít metodu Split a na každý vrácený string pomocí Convert převést na číslo, ty čísla si ukládat do nějaké třídy z Collection, která má metodu Sort, a pak jen vypsat setříděnou kolekci.

Radek Chalupa

http://www.radekchalupa.cz

 
Nahoru Odpovědět
27.2.2018 15:39
Avatar
Frestyle
Člen
Avatar
Frestyle:27.2.2018 15:41

Zkusil jsem to takhle, ale nevyšlo to

string[] a1 = arr1.Text.Split('|');
                        Array.Sort(a1[1]);
                        Array.Reverse(a1[1]);
                        foreach (string vy1 in a1[1])
 
Nahoru Odpovědět
27.2.2018 15:41
Avatar
Radek Chalupa:27.2.2018 15:47

musíš to třídit jako čísla, nikoliv abecedně jako texty, textově je např. 2 větší než 100...

 
Nahoru Odpovědět
27.2.2018 15:47
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Zajac
Člen
Avatar
Odpovídá na Frestyle
Petr Zajac:27.2.2018 15:48

Co si u textové proměnné, kde máš čísla s lomítkama představuješ od "největšího"
Pokud dám do textové proměnné např. 100, 2, 8, 5 ... a seřadím to jako TEXT
tak se mi to seřadí "podle abecedy" 100, 2, 5, 8 ;-) je jedno jaká další čísla tam jsou ...

 
Nahoru Odpovědět
27.2.2018 15:48
Avatar
Odpovídá na Frestyle
Michal Štěpánek:27.2.2018 15:50

Co znamená "nevyšlo to"? Když máš jednou rozdělovač "|" a podruhé "/", tak

Split("|")

ti to rozdělí na řetězce 23/823/22 13/1100/12 33/300/32 53/900/52
které ti nějak setřídí...

Nahoru Odpovědět
27.2.2018 15:50
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Petr Zajac
Člen
Avatar
Odpovídá na Frestyle
Petr Zajac:27.2.2018 15:54

Pokud tam máš čísla a mezi tím lomítka, co to je za "mišmaš", když vezmu znak "|" jako oddělení jednotlivých členů. Když dáš do textové proměnné "číslo" a nepřevedeš to příkazem parse ... tak na čísla musíš pak koukat jako na "text" a srovnání podle velikosti, není to samé jako když to jsou čísla :-((

 
Nahoru Odpovědět
27.2.2018 15:54
Avatar
Frestyle
Člen
Avatar
Frestyle:27.2.2018 16:30

Pro mě je důležité si v cyklu vytáhnout ostatní čísla. Proto to pole mám takhle. Sice tam jsou jen čísla, ale zapisují se tam další. Po každém odeslání si to příčítám do textBoxu a pak si z něho chci vytáhnout všechny informace a pracovat s nima. Roděluji si to | = nový záznam, / = patřím k tomuhle rozměru.

Omlouvám se, že píšu až teď, ale nechtělo mi to pustit odeslat. To je hezký, ale pak je to neřešitelný. Protože, potřebuji si vytáhnout k tomu i ty další rozměry.

 
Nahoru Odpovědět
27.2.2018 16:30
Avatar
Odpovídá na Frestyle
Matúš Olejník:27.2.2018 16:45

Nechceš radšej založiť nové vlákno kde poriadne opíšeš tvoj problém, čoho chceš docieliť prípade vstup a výstup aký potrebuješ? :-) Názov vlákna je "Od největšího čísla" v popise spomínaš pole čísel a že ho chceš zoradiť, potom už je to zrazu string s rôznymi znakmi a nakoniec tie znaky k niečomu sú. Z tohto sa dosť ťažko vyrieši tvoj problém :-)

Nahoru Odpovědět
27.2.2018 16:45
/* I am not sure why this works but it fixes the problem */
Avatar
Petr Zajac
Člen
Avatar
Odpovídá na Frestyle
Petr Zajac:27.2.2018 17:08

Když jsem kdysi programoval (ještě pod DOSem), tak se mi DOST VYPLATILO si dopředu rozmyslet CO CHCI ZA VÝSTUP. Ušetří ti to SPOUSTU ČASU.
Pokud vstup od uživatele získáváš v text boxu, tak ho HNED PARSUJ na číslo!!! v případě více rozměrů (šířka délka, výška) měj na každé EXTRA text box a už čísla si dávej do vícerozměrného pole, které pak snadno setřídíš vzestupně podle daného rozměru a potom zrevertuješ!

 
Nahoru Odpovědět
27.2.2018 17:08
Avatar
plelovsky
Člen
Avatar
Odpovídá na Frestyle
plelovsky:28.2.2018 12:21

Jestli chceš radu nebo řešení, popiš souvisle a srozumitelně čeho chceš dosáhnout.

 
Nahoru Odpovědět
28.2.2018 12:21
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 14 zpráv z 14.