Wątek przeniesiony 2018-05-30 05:42 z C/C++ przez kq.

Kopiowanie zmiennych z jednej funkcji do drugiej

0

Mam taki problem, nie wiem jak przekazywac argumenty jednej funkcji do drugiej, w sensie mamy funkcje f1:

void f1()
{
    string warzywo;
    cout << "Podaj ulubione warzywo" << endl;
    cin >> warzywo;
}
i funkcje f2 w ktorej ma byc identyczna zmienna, czyli kopia zmiennej z funkcji f1 : void f2()
{
    string w;
    w = warzywo;
}
0

A jak skopiowac tablice?
void aaa(int* * tablica = new int*[3])
{
*tablica[0] = 11;
*tablica[1] = 12;
*tablica[2] = 13;
}void bbb()
{
int * tablica = new int[3];
aaa(&int * tablica = new int[3]);
cout<<tablica[1],tablica[2],tablica[3]<<endl;
}
nie dziala

0
dziadek69 napisał(a):

A jak skopiowac tablice?
void aaa(int* * tablica = new int*[3])
{
*tablica[0] = 11;
*tablica[1] = 12;
*tablica[2] = 13;
}void bbb()
{
int * tablica = new int[3];
aaa(&int * tablica = new int[3]);
cout<<tablica[1],tablica[2],tablica[3]<<endl;
}
nie dziala

Jeśli to C++ to nie używaj durowych tablic. A vector skopiujesz bez problemu przesz podstawienie... A przy przekazywaniu do funkcji -- przekażesz przez wartość/

1
dziadek69 napisał(a):

A jak skopiowac tablice?

A Twój kod, żeby miał sens i działał, wygląda z wektorami jakoś tak:

#include <vector>

using namespace std;

void aaa(vector<int> & tablica) {
    tablica.resize(3);
    tablica[0] = 11;
    tablica[1] = 12;
    tablica[2] = 13;
}

void bbb() {
    vector<int> tablica;
    aaa(tablica);
    cout<<tablica[0]<<tablica[1]<<tablica[2]<<endl;
}
0

a jak wyglada kopiowanie stringow? w funkcji bazowej wczytujemy go z konsoli

0
dziadek69 napisał(a):

a jak wyglada kopiowanie stringow? w funkcji bazowej wczytujemy go z konsoli

Tak samo -- wszystkie kontenery z biblioteki standardowej zachowują się rozsądnie. Z punktu widzenia C++. :)

0

Mam jeszcze taki problem, czemu nie moge wywolac takiej funkcji w main?
void Podaj_miasto(string&miasteczko)
{
cout<<"Podaj miasto: "<<endl;
cin>>miasteczko;
}
int main()
{ Podaj_miasto(string&miasteczko);}

1
dziadek69 napisał(a):

Mam jeszcze taki problem, czemu nie moge wywolac takiej funkcji w main?

Bo nie umiesz się posługiwać funkcjami! Powinno być jakoś tak:

#include <iostream>
#include <string>

using namespace std;

void Podaj_miasto(string & miasteczko) {
    cout << "Podaj miasto: " << endl;
    cin >> miasteczko;
}

int main() {
    string m;
    Podaj_miasto(m);
}

W wywołaniu już nie podajesz typu itp -- tylko samą zmienną lokalną...

PS. Formatuj...

1 użytkowników online, w tym zalogowanych: 0, gości: 1