🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
10 messages
10 total messages Started by Tomek Luzak Mon, 04 Feb 2013 10:28
Sortowanie wg długości
#52501
Author: Tomek Luzak
Date: Mon, 04 Feb 2013 10:28
3 lines
1335 bytes
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?
Re: Sortowanie wg długości
#52502
Author: Stachu 'Dozzie' K.
Date: Mon, 04 Feb 2013 10:42
10 lines
1543 bytes
On 2013-02-04, Tomek Luzak <whereverroadgoes@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
Re: Sortowanie wg długości
#52503
Author: Tomek Luzak
Date: Mon, 04 Feb 2013 11:02
4 lines
1691 bytes
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?
Re: Sortowanie wg długości
#52504
Author: Stachu 'Dozzie' K.
Date: Mon, 04 Feb 2013 11:27
16 lines
1737 bytes
On 2013-02-04, Tomek Luzak <whereverroadgoes@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?

-- 
Secunia non olet.
Stanislaw Klekot
Re: Sortowanie wg długości
#52505
Author: Tomek Luzak
Date: Mon, 04 Feb 2013 11:39
22 lines
1979 bytes
> >
> 
> > 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). 
> 
Re: Sortowanie wg długości
#52506
Author: Stachu 'Dozzie' K.
Date: Mon, 04 Feb 2013 11:52
32 lines
2322 bytes
On 2013-02-04, Tomek Luzak <whereverroadgoes@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?

-- 
Secunia non olet.
Stanislaw Klekot
Re: Sortowanie wg długości
#52507
Author: Tomek Luzak
Date: Mon, 04 Feb 2013 12:32
7 lines
1905 bytes
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.
Re: Sortowanie wg długości
#52508
Author: hubert depesz lubaczewski
Date: Mon, 04 Feb 2013 15:21
16 lines
1742 bytes
On 2013-02-04, Tomek Luzak <whereverroadgoes@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/
Re: Sortowanie wg długości
#52509
Author: Tomek Luzak
Date: Wed, 06 Feb 2013 20:52
2 lines
1781 bytes
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.
Re: Sortowanie wg długości
#52510
Author: karraso
Date: Fri, 15 Feb 2013 21:14
23 lines
1542 bytes
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.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads