Pari kysymystä

Moi,

Mulla olisi pari ongelmaa: (kyseessä on ennätyslista.

1. Minulla on tekstitiedosto, jossa on aina riveittäin nimi ja aika. Eli näin:

Matti | 192
Pertti | 639
Erkki | 449 jnejne

Miten saisin valittua ja tulostettua kymmenen parasta järjestyksessä, esim. näin:

1. Matti: 192
2. Erkki: 449
3. Pertti: 639

***

2. Jos minulla on tiedostossa lukujono (ei pvm), esim. 4587221, niin miten saisin tulostettua sen näin:

45:87:221?
4395
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Moi!

Kohta 1:

Lue tekstitiedosto muistiin file(string fileName) funktiolla, joka palauttaa tiedoston taulukkona. Seuraavaksi luet jokaisen rivin taulukkoon, jonka järjestelet sopivalla sorrttausfunktiolla halauamaasi järjestykseen. Lopuksi vain tulostat 10 viimeistä / ensimmäistä arvoa riippuen kumpaan järjestykseen taulukon järjestelet.

Kohta 2:

Lue muuttujasta 2 ensimmäistä merkkiä muistiin, jotka sijoitat uuteen muuttujaan. Seuraavaksi sijoitat haluamasi erottelumerkin (:) ja luet taas kaksi seuraavaa merkkiä ja sijoitat erottelumerkin. Lopuksi sijoitat loput kolme merkkiä muuttujaan.

Kuten huomaat en anna valmista koodia, koska tehtävät tulisi ratkoa itse. Mikäli tämä ei ole koulutehtävä / vastaava, niin sen voisi tuoda esille avauksessa, joskaan silloinkaan tuskin antaisin valmista koodia. Nämä ovat kuitenkin melkoisen triviaaleja ongelmia.

Äänestä
  • Joo, ei tämä mikään kouluhomma ole. Kyllä tämä tästä jotenkin lähtee, mutta nyt ilmeni tämmönen ongelma.

    Eli kun olen saanut sortattua kymmenen parasta ja tulostettua ne, niin se tulostaa ne kerran, mutta sen jälkeen kaikki tiedot häviävät tiedostosta. mistä voisi johtua. koodi on tämmönen:



    (toi tulostus on tosiaan vielä vaiheessa, muotoilen myöhemmin)

    ***

    Miten luen muuttujasta 2 ekaa merkkiä muistiin?



    nimim. aloitteleva ohjelmoija

    Äänestä

  • tyhmäkysyjä kirjoitti:

    Joo, ei tämä mikään kouluhomma ole. Kyllä tämä tästä jotenkin lähtee, mutta nyt ilmeni tämmönen ongelma.

    Eli kun olen saanut sortattua kymmenen parasta ja tulostettua ne, niin se tulostaa ne kerran, mutta sen jälkeen kaikki tiedot häviävät tiedostosta. mistä voisi johtua. koodi on tämmönen:



    (toi tulostus on tosiaan vielä vaiheessa, muotoilen myöhemmin)

    ***

    Miten luen muuttujasta 2 ekaa merkkiä muistiin?



    nimim. aloitteleva ohjelmoija

    "Miten luen muuttujasta 2 ekaa merkkiä muistiin?"

    Tarkoitatko tällaista

    $merkit = substr ( $muuttuja , 0 , 2 );

    PHP:n merkkijonofunktioita

    http://fi2.php.net/manual/en/ref.strings.php

    Äänestä

  • tyhmäkysyjä kirjoitti:

    Joo, ei tämä mikään kouluhomma ole. Kyllä tämä tästä jotenkin lähtee, mutta nyt ilmeni tämmönen ongelma.

    Eli kun olen saanut sortattua kymmenen parasta ja tulostettua ne, niin se tulostaa ne kerran, mutta sen jälkeen kaikki tiedot häviävät tiedostosta. mistä voisi johtua. koodi on tämmönen:



    (toi tulostus on tosiaan vielä vaiheessa, muotoilen myöhemmin)

    ***

    Miten luen muuttujasta 2 ekaa merkkiä muistiin?



    nimim. aloitteleva ohjelmoija

    "Lue muuttujasta 2 ensimmäistä merkkiä muistiin, jotka sijoitat uuteen muuttujaan. Seuraavaksi sijoitat haluamasi erottelumerkin (:) ja luet taas kaksi seuraavaa merkkiä ja sijoitat erottelumerkin. Lopuksi sijoitat loput kolme merkkiä muuttujaan."

    Jos tuon kirjoittaa yhdelle riville niin tulos on näin vauhdikas

    $vastaus = substr ( $muuttuja , 0 , 2 ) . ':' . substr ( $muuttuja , 2 , 2 ) . ':' . substr ( $muuttuja , 4 , 3 );

    Tässä ei kuitenkaan mitenkään varauduta siihen että $muuttuja ei ehkä sisälläkään noin paljon merkkejä.

    Äänestä

Kommentoi aloitusta


tyhmäkysyjä kirjoitti:

Moi,

Mulla olisi pari ongelmaa: (kyseessä on ennätyslista.

1. Minulla on tekstitiedosto, jossa on aina riveittäin nimi ja aika. Eli näin:

Matti | 192
Pertti | 639
Erkki | 449 jnejne

Miten saisin valittua ja tulostettua kymmenen parasta järjestyksessä, esim. näin:

1. Matti: 192
2. Erkki: 449
3. Pertti: 639

***

2. Jos minulla on tiedostossa lukujono (ei pvm), esim. 4587221, niin miten saisin tulostettua sen näin:

45:87:221?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu