Hirdetés

Új hozzászólás Aktív témák

  • lapa
    veterán

    nem azert utalom, mert fuj microsoft meg fuj windows, hanem mert irtozatosakat szoptam vele, millioszor elofordult hogy a talalt megoldas nem mukoott, mert kiderult hogy 'ja igen, ez windows 2000-nel meg megvolt, aztan senki nem tudja miert, de a ms kivette, az xp-ben mar nem mukodik' :W

    raadasul erre a feladatra semmi nem indokolja a vbs-t, szovegfeldolgozasra perl, esetleg awk kell :)

    gyorsan osszedobtam egy ronda, de mukodo megoldast perlben az 1. problemara:

    my ($MAX, $last, $lastline, @prevs) = (4, -1,"");
    foreach (<>)
    {
    my $nr = (split(" ",$_))[2];
    print substr($lastline,0,20).($last+1).substr($prevs[$last+1],21) if (!($nr == 0 && $last == $MAX) && ($nr != ($last+1)) && (defined $prevs[$last+1]));
    $prevs[$last = $nr] = $lastline = $_;
    print;
    }

    a hasznalata siman ennyi:

    perl scriptedneve.pl < adatok.txt

    ha uj file-ba akarod iranyitani, akkor:

    perl scriptedneve.pl < adatok.txt > javitott.txt

    az lehetséges, hogy az első megoldás a hiányzó 0-kat nem egészíti ki, csak az 1, 2, 3, 4-et? csak valami 80 sor plusz lett az eredetihez képest, pedig párezer 0-s hiányzik.

    mire megnyitom és ellenőrzöm tételesen openoffice-ban a nap lemegy...

    sajnos nem igazán értem mit csinál a szkripted. ami nem baj, csak nem tudom megnézni a választ a fenti kérdésre.

Új hozzászólás Aktív témák