C++ ohjelmointi ongelma

Miten tehdään ohjelma joka käy rivi kerrallaan läpi ja etsii tietyt numerot tiedostossa olevilta riveiltä. Numeroista esimerkki 1,3 ja 15

Kyseisessä on tiedosto: c:\numerot.txt ja rivejä jos on esimerkiksi 20 ja rivin pituus merkkeinä(numeroina) on 20.

Saisiko apua koetin tehdä jo alkua mutta tuloksettomasti... Kiitos..


Miten teen kyseisen jutun c ?
171747
Äänestä

Muut lukivat myös

Vastaukset 17

Vanhimmat

>...koetin tehdä jo alkua mutta...

Sait siis kotitehtävän jonka oletetaan ratkeavan saamasi opetuksen perusteella?

Laitahan tänne mitä sait aikaiseksi niin katsotaan.

Äänestä
  • Ei mitään kummempaa. pistä sä miten ongelman ratkaisisit

    Äänestä

  • Mä vaan kirjoitti:

    Ei mitään kummempaa. pistä sä miten ongelman ratkaisisit

    "Ei mitään kummempaa", laita mitä olet tehnyt, vai oletko kirjoittanut vielä riviäkään?

    Äänestä

  • Mikä jäi epäselväksi kirjoitti:

    "Ei mitään kummempaa", laita mitä olet tehnyt, vai oletko kirjoittanut vielä riviäkään?

    taidot ruostuneet.. miten teen?

    Äänestä

en juuri mtään saa aikaan..

Äänestä

Voit lukea tiedostosta ensin rivin,vaikka getline-funktiolla ja sitten
tutkit onko rivillä haetut numerot.Tsekkauksen voi suorittaa
strtok-funktiolla asettamalla siihen eroittimiksi pisteen pilkun välilyönnin
jne.Tulokset luet taulukkoon tai miten vain haluat.Etsittävät numerot voivat
olla myöskin taulukossa.

Äänestä

-Hakukohteena ovat nähtävästi luvut eivätkä numerot???
-Ovatko luvut kokonaislukuja?
-Onko lukujen välissä pilkku välilyönti...mikä??
-Pitääkö löydetyt luvut tulostaa rivikohtaisesti??

Voin ehkä antaa lisävinkkejä....

Äänestä
  • Luvut eli numerot ovat muodossa :

    esim. 2224252627

    TOimiiko toi koodi pätkä?

    Äänestä

//Lukujen eroittimena toimii tiedostossa separ-muuttuja
//Luvut taulukossa esim. 100,-200,122.33,3.5 jne.
//Siis liukuluvutkin sallitaan
//Dynaamisen taulukon voi vaihtaa tavalliseksi jos tarpeellista
//Tässä on kaikki tarpeellinen tieto????

#include
#include
#include

using namespace std;
int main()
{

//Tästä luetaan(Täytyy olla olemassa)
ifstream source("numerot.txt");
//Tällä lasketaan rivit
ifstream rivit("numerot.txt");
int i=0,rivit_kpl=0;
string looppi;//Apustringi rivien laskentaan

//*****************************************************************
//Paljonko rivejä failissa
while(getline(rivit,looppi))
{
rivit_kpl ;//Rivejä failissa
}
rivit.close();
//*****************************************************************

//Alustetaan 2-ulotteinen dynaaminen taulukko
string **taulukko;//Osoittimen osoitin
int sarakkeet=20;//Sanoja rivillä / maksimi
int rind,sind;//Taulukko rivit sarakkeet

taulukko=new string*[rivit_kpl];
//Varataan tila kunkin rivin sarakkeille
for(rind=0;rind < rivit_kpl;rind )
{
taulukko[rind]=new string[sarakkeet];
}
//Kaikki taulukon alkiot alustetaan rivinumerolla
for(rind=0;rind < rivit_kpl;rind )
for(sind=0 ; sind < sarakkeet ; sind )
{
taulukko[rind][sind]=rind;
}
//*****************************************************************
//Luetaan faili taulukkoon
string a;//Sanastringi
char *separ=",?!:";//Vaihda/lisää tästä eroittimia
int sanat=0;
char *chr;

while(getline(source,a))
{
char *p="";
chr = strdup(a.c_str());

if(p)
{
p=strtok(chr,separ);//Luetaan ekasana
if(p)
taulukko[i][sanat]=p;
sanat ;
}

do
{
p=strtok(NULL,separ);
if(p)
{
if(p)
{
taulukko[i][sanat]=p;
}
sanat ;
}
}while(p);

delete [] chr;//Poistetaan tilanvaraus
sanat=0;
i ;//Rivilaskuri
}
source.close();//Suljetaan lukuvirta

//Tiedosto luettu taulukkoon
//*****************************************************************
char *testi2="";//Muutetaan stringi char*-muotoon
cout

Äänestä
  • Lähdekoodisi ei toimi. Kokeilin sitä kääntäjässä.
    Ilmeisesti jossain vika siinä..

    Uusintaa odotellessa

    Äänestä

  • Tekisikö joku esimerkki ratkaisun joka toimii??

    Kiitos

    Äänestä

  • yksin pulassa kirjoitti:

    Tekisikö joku esimerkki ratkaisun joka toimii??

    Kiitos

    int main() {
    bool olen_laiska, success;
    olen_laiska = true;

    while(olen_laiska) {
    success = kysy_apua_netistä_kun_et_jaksa_itse_tehdä();
    if(!success){
    if( jaksan_opiskella_itse() ) {
    olen_laiska = false;
    } else {
    save_arvioitu_valmistumisaikani(ei_ikinä);
    return(hylsy_tulee_koska_olen_laiska);
    }
    } else {
    tallenna_oppimani_asiat(NULL);
    return(sluibaan_jatkossakin_koska_en_osaa_ja_olen_kusessa_tulevilla_kursseilla);
    }

    while(tekemäni_koodi_ei_toimi) {
    success=kerro_ongelma_ja_pyydä_apua_juuri_siihen();
    if(!success) {
    pyydä_apua_opettajalta_tai_assarilta();
    }
    tee_neuvotut_korjaukset();
    if(koodini_toimii) {
    palauta();
    palkitse_itsesi(olut);
    return( onnellinen_ja_osaava_oppilas);
    }}
    return(olenpa_aika_sissi_kun_voitin_laiskuuteni);
    }

    suap tarkentaa oman tilanteen mukaiseksi

    Äänestä

  • yksin pulassa kirjoitti:

    Tekisikö joku esimerkki ratkaisun joka toimii??

    Kiitos

    keskivertonaista?? auttamaan!!!

    Äänestä

  • Yksin pulassa.. kirjoitti:

    Lähdekoodisi ei toimi. Kokeilin sitä kääntäjässä.
    Ilmeisesti jossain vika siinä..

    Uusintaa odotellessa

    Älä tule kuule minulle väittämään ettei koodini toimi!!En ole koskaan
    pistänyt tälle palstalle ainuttakaan koodinpätkää ellen ole
    ajanut sitä ensin kysytyllä tavalla C tai C omalla koneella.
    Vika on siellä sinun "päässäsi",ja vian saat löytää ihan itse!!

    Naisen logiikkahan on sitä,että halutaan jotakin tapahtuvaksi,mutta
    toteutustapa ja periaate ei merkitse mitään.Se suorastaan paistaa läpi
    noista sinunkin kirjoituksistasi.

    Äänestä

  • Builder kirjoitti:

    Älä tule kuule minulle väittämään ettei koodini toimi!!En ole koskaan
    pistänyt tälle palstalle ainuttakaan koodinpätkää ellen ole
    ajanut sitä ensin kysytyllä tavalla C tai C omalla koneella.
    Vika on siellä sinun "päässäsi",ja vian saat löytää ihan itse!!

    Naisen logiikkahan on sitä,että halutaan jotakin tapahtuvaksi,mutta
    toteutustapa ja periaate ei merkitse mitään.Se suorastaan paistaa läpi
    noista sinunkin kirjoituksistasi.

    kukkanen ole edes C -maailmassa. (en kokeillut, mutta on siinä kyllä yhtä sun toista ryppyä)

    Alkuperäinen kirjoittaja voisi opiskella hieman työntekoa. Kun ensimmäisen harjoitustyön ohjelmoinnista saa tehtyä, niin kyllä se siitä lähtee. Tärkeintä on saada ohjelmoinnin ajatusmaailmasta kiinni.

    Äänestä

  • kyllä mikään kirjoitti:

    kukkanen ole edes C -maailmassa. (en kokeillut, mutta on siinä kyllä yhtä sun toista ryppyä)

    Alkuperäinen kirjoittaja voisi opiskella hieman työntekoa. Kun ensimmäisen harjoitustyön ohjelmoinnista saa tehtyä, niin kyllä se siitä lähtee. Tärkeintä on saada ohjelmoinnin ajatusmaailmasta kiinni.

    ollut tarkoituskaan mitään ruusutarhaa tehdä,
    vaan toimiva ohjelma.

    Äänestä

  • kyllä mikään kirjoitti:

    kukkanen ole edes C -maailmassa. (en kokeillut, mutta on siinä kyllä yhtä sun toista ryppyä)

    Alkuperäinen kirjoittaja voisi opiskella hieman työntekoa. Kun ensimmäisen harjoitustyön ohjelmoinnista saa tehtyä, niin kyllä se siitä lähtee. Tärkeintä on saada ohjelmoinnin ajatusmaailmasta kiinni.

    Tarkennus /lisäys
    *******************
    Olethan sinä aivan oikeassa,sillä tietyt ohjelman osat eivät oike-
    astaan tee mitään.Syynä "virheisiin" ovat työkiireet ja se,että
    ainakin minä joudun kaiken aikaa kaivamaan esiin ne asiat joita tar-
    vitsen selvittääkseni jonkin ongelman,koska muisti ei ole enää sama
    kuin nuorempana - siis noin alta kuusikymppisenä.On kuitenkin hyvä,
    että joku puuttuu näihin epäloogisuuksiin,vaikka tuo keskustelun
    aloittaja ei olekkaan kiinnostunut näistä asioista......??
    Lisäksi en halunnut antaa aivan kaikkea valmiina,jotta opettajallakin
    riittäisi ihmetyksen aiheita.

    Äänestä

Kommentoi aloitusta


Yksin pulassa kirjoitti:

Miten tehdään ohjelma joka käy rivi kerrallaan läpi ja etsii tietyt numerot tiedostossa olevilta riveiltä. Numeroista esimerkki 1,3 ja 15

Kyseisessä on tiedosto: c:\numerot.txt ja rivejä jos on esimerkiksi 20 ja rivin pituus merkkeinä(numeroina) on 20.

Saisiko apua koetin tehdä jo alkua mutta tuloksettomasti... Kiitos..


Miten teen kyseisen jutun c ?

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