Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sortowanie wg długości

20 views
Skip to first unread message

Tomek Luzak

unread,
Feb 4, 2013, 5:28:07 AM2/4/13
to
Mam plik z 4 blokami tekstu o różnej długosći.
Chcę posortować je w kolejności od najkrótszego do najdłuższego.
Jaki jest najlepszy na to sposób?

Stachu 'Dozzie' K.

unread,
Feb 4, 2013, 5:42:25 AM2/4/13
to
On 2013-02-04, Tomek Luzak <wherever...@gmail.com> wrote:
> Mam plik z 4 blokami tekstu o r�nej d�ugos�i.
> Chc� posortowa� je w kolejno�ci od najkr�tszego do najd�u�szego.
> Jaki jest najlepszy na to spos�b?

U�y� wbudowanej funkcji sort{}.

--
Secunia non olet.
Stanislaw Klekot

Tomek Luzak

unread,
Feb 4, 2013, 6:02:30 AM2/4/13
to
np w taki sposób, tak?
@posortowane = sort {length $a <=> length $b} @4bloki;

Nie rozumiem tylko co definiuję przez $a i $b oraz tego, że chyba nie posortuje to wszystkich 4 bloków?

Stachu 'Dozzie' K.

unread,
Feb 4, 2013, 6:27:55 AM2/4/13
to
On 2013-02-04, Tomek Luzak <wherever...@gmail.com> wrote:
> np w taki spos�b, tak?
> @posortowane = sort {length $a <=> length $b} @4bloki;
>
> Nie rozumiem tylko co definiujďż˝ przez $a i $b

Nie rozumiem pytania, ale czy czyta�e� `perldoc -f sort'
i `perldoc perlvar'?

> oraz tego, �e chyba nie posortuje to wszystkich 4 blok�w?

A dlaczego uwa�asz �e nie?

Tomek Luzak

unread,
Feb 4, 2013, 6:39:07 AM2/4/13
to

> >
>
> > Nie rozumiem tylko co definiujďż˝ przez $a i $b
>
>
>
> Nie rozumiem pytania, ale czy czyta�e� `perldoc -f sort'
>
> i `perldoc perlvar'?
>
> Tak, i stamtą wziąłem w/w linijkę kodu.
> Chodzi mi o to, że zmiennej trzeba najpierw tu coś przypisać z mojego tekstu, bo przecież nie będą pracować jako undef?
>
> > oraz tego, �e chyba nie posortuje to wszystkich 4 blok�w?
>
>
>
> A dlaczego uwa�asz �e nie?
>
> Bo używamy tylko dwóch zmiennych (a bloków jest 4).
>

Stachu 'Dozzie' K.

unread,
Feb 4, 2013, 6:52:26 AM2/4/13
to
On 2013-02-04, Tomek Luzak <wherever...@gmail.com> wrote:
>> > Nie rozumiem tylko co definiujďż˝ przez $a i $b
>>
>>
>>
>> Nie rozumiem pytania, ale czy czyta�e� `perldoc -f sort'
>>
>> i `perldoc perlvar'?
>>
>> Tak, i stamt� wzi��em w/w linijk� kodu.
>> Chodzi mi o to, �e zmiennej trzeba najpierw tu co� przypisa� z mojego tekstu, bo przecie� nie b�d� pracowa� jako undef?

M�g�by� usuwa� znaki cytowania sprzed _swojej_ odpowiedzi, bo m�j post
i twoja odpowiedďż˝ na niego siďż˝ zlewajďż˝.

Zmiennej coďż˝ trzeba przypisaďż˝. Ale czy to ty musisz to przypisywaďż˝?

Ty siďż˝ dopiero uczysz programowania, right?

>> > oraz tego, �e chyba nie posortuje to wszystkich 4 blok�w?
>>
>>
>>
>> A dlaczego uwa�asz �e nie?
>>
>> Bo u�ywamy tylko dw�ch zmiennych (a blok�w jest 4).

No i? W czym widzisz problem?

Tomek Luzak

unread,
Feb 4, 2013, 7:32:47 AM2/4/13
to
No tak, dopiero się uczę i niestety, choć zadanie wydaje się banalne to wyjaśnienia na Internecie wydają się zawiłe.

Rozumiem, że zmienne $a i $b to kolejne sąsiadujące ze sobą elementy w tablicy?

Sęk w tym, że blok tekstu będzie traktowany jako szereg elementów (tyle ile linijek), a ja mam porównać całość bloku.

Przepraszam za te nieczytelne cytowania.

hubert depesz lubaczewski

unread,
Feb 4, 2013, 10:21:11 AM2/4/13
to
On 2013-02-04, Tomek Luzak <wherever...@gmail.com> wrote:
> Sęk w tym, że blok tekstu będzie traktowany jako szereg elementów
> (tyle ile linijek), a ja mam porównać całość bloku.

Nie ma sęków. Zrób tablicę elementów, odpal sorta, sprawdź co ci wyszło.
Jak wyjdzie źle to:
1. pokaż nam na grupie swój program
2. pokaż nam dane wejściowe
3. pokaż co dostałeś
4. pokaż czemu to jest złe.

depesz

--
The best thing about modern society is how easy it is to avoid contact with it.
http://depesz.com/

Tomek Luzak

unread,
Feb 6, 2013, 3:52:30 PM2/6/13
to
Udało mi się znaleźć rozwiązanie gdzieś indziej - dziękuję za pomoc!
Myślę, że spokojnie można usunąć ten wątek, bo nie będzie raczej pomocny innym.

karraso

unread,
Feb 15, 2013, 4:14:11 PM2/15/13
to
W dniu 2013-02-04 11:28, Tomek Luzak pisze:
> Mam plik z 4 blokami tekstu o różnej długosći.
> Chcę posortować je w kolejności od najkrótszego do najdłuższego.
> Jaki jest najlepszy na to sposób?
>
Można tak
foreach $i (@cputemp[1..$#cputemp])
{
if ($i > $max)
{
$max = $i;
}
elsif ($i < $min)
{
$min = $i;
}

}

Albo
@tablica = sort { $a <=> $b } @tablica;

Poczytaj uważnie o sort bo możesz nie uzyskać zamierzonego efektu.
0 new messages