Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 18. 11. 2011 03:31 — Editoval jiskra (18. 11. 2011 03:32)

jiskra
Příspěvky: 32
Reputace:   
 

Predani vektoru jako parametr funkci

ahoj , potrebuji poradit jak mam opravit nize uvedeny kod abych mohl predat vektor vect_dpole funkci int fn_Nacti_Soubor(struct dpole *vect_dpole,char jmeno_souboru)
jde o radky ktere jsem dal do poznamek. bez tech 2 radku vse funguje jak ma, ale motam se uz moc dlouho s tim predanim parametru.
nechci psat vsechno do main()

Code:

#include <iostream>
#include <fstream>
#include <string>
#include <vector>

using namespace std;

struct t_Dpole    //UDT ("uživatelem definovaný typ")
{
int Lpole;
int Ppole;
int Delkapole;
};

int pocet_radku;

int fn_Nacti_Soubor(struct dpole *vect_dpole,char jmeno_souboru);


int main()    
{
    char jmeno_souboru[]="c:\\10.txt";
    struct t_Dpole dpole;                    //ADT ("abstraktní datový typ") vector
    vector <t_Dpole> vect_dpole;    //Šablona vector je datový kontejner - posloupnost
    
    cout << "zapis" << endl << endl;
    for (int i=0; i<10; i++)
    {
        dpole.Lpole = 20-i;
        dpole.Ppole = 10-i;
        dpole.Delkapole = i+i;
        vect_dpole.push_back(dpole); //prida na konec dpole novy prvek dpole
        cout << "Lpole>" << dpole.Lpole << "\t\ tPpole>" << dpole.Ppole << "\tdelkapole>" << dpole.Delkapole<<endl;
    }
    cout << "nacteni pole ze souboru" << endl << endl;
//fn_Nacti_Soubor( &vect_dpole, *jmeno_souboru);
        vect_dpole.begin(); //nastavi 1. prvek dpole 

    for (int i=0; i<10; i++)
        cout << "Lpole>" << vect_dpole[i].Lpole << "\t\ tPpole>" << vect_dpole[i].Ppole << "\tdelkapole>" << vect_dpole[i].Delkapole <<endl;

    system("pause");  
    return 0;
}

int fn_Nacti_Soubor(struct dpole *vect_dpole,char jmeno_souboru)
{
    char string_cislo[10]="12456";
//vect_dpole[2].Lpole =atoi(string_cislo);
    
    return 0;
}

Offline

  • (téma jako vyřešené označil(a) jiskra)

#2 19. 11. 2011 15:55

frank_horrigan
Příspěvky: 938
Reputace:   31 
 

Re: Predani vektoru jako parametr funkci

Ahoj, řekneš mi co tomu bylo?

já jsem do toho asi hodinu včera koukal, a nepřišlo mi podezřelé nic

Jinak určitě se nabízí řešení ač nikoli úplně elegantní (mírně řečeno) , nadeklarovat si proměnnou typu vector jako globální, a pak jí nepředávat jako parametr, ale měnit přímo


The only thing worse than being wrong is staying wrong
Sun Tzu - The Art of War

Offline

 

#3 21. 11. 2011 13:16 — Editoval jiskra (22. 11. 2011 08:40)

jiskra
Příspěvky: 32
Reputace:   
 

Re: Predani vektoru jako parametr funkci

jo to je taky reseni :)

edit: nebyl spravne predany vektor vect_dpole a ani struktura st_dpole, takze hlasil ze je nezna.
nakupilo se mi dost veci najednou a trochu nestiham. nejednodussi je udelat ja fakt asi globalne.

jine je pak tady http://pastebin.com/yCCjK6Dw

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson