tablica w funkcji

tablica w funkcji
W1
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 lat
  • Postów:21
0

Wiem jak odwołać się i wpisywać do tablicy wewnątrz funkcji main. Nie wiem jak dostać się do tablicy która jest w innej funkcji.
Mam takie coś:

Kopiuj
#include <iostream>
#include <vector>
using namespace std;
int main()
{
	vector<int> tablica(4,2);
	cout<<tablica[0]<<endl;
	cout<<tablica[1]<<endl;
	cout<<tablica[2]<<endl;
	cout<<tablica[3]<<endl;
	cout<<"obecny rozmiar tablicy to: "<<tablica.size()<<endl;
	cout<<"------------------------------"<<endl;
	tablica.push_back(8);  // Dodajemy element do tablicy. Będzie on zawierał wartość 8
	cout<<tablica[0]<<endl;
	cout<<tablica[1]<<endl;
	cout<<tablica[2]<<endl;
	cout<<tablica[3]<<endl;
	cout<<tablica[4]<<endl;
	cout<<"obecny rozmiar tablicy to: "<<tablica.size()<<endl;
	cout<<"------------------------------"<<endl;
	return 0;
}

Chciałbym aby obecna zawartość maina znalazła się w funkcji "tabliczka".
Wiem że powinno wyglądać mniej więcej tak:

Kopiuj
#include <iostream>
#include <vector>
using namespace std;

int tabliczka()
{
	vector<int> tablica(4,2);
	cout<<tablica[0]<<endl;
	cout<<tablica[1]<<endl;
	cout<<tablica[2]<<endl;
	cout<<tablica[3]<<endl;
	cout<<"obecny rozmiar tablicy to: "<<tablica.size()<<endl;
	cout<<"------------------------------"<<endl;
	tablica.push_back(8);  // Dodajemy element do tablicy. Będzie on zawierał wartość 8
	cout<<tablica[0]<<endl;
	cout<<tablica[1]<<endl;
	cout<<tablica[2]<<endl;
	cout<<tablica[3]<<endl;
	cout<<tablica[4]<<endl;
	cout<<"obecny rozmiar tablicy to: "<<tablica.size()<<endl;
	cout<<"------------------------------"<<endl;
	return 0;
}

int main()
{
	tabliczka();
	return 0;
}

ale co dalej... Jak z maina wpisać coś np. do tablica[0] która jest w funkcji tabliczka?

edytowany 1x, ostatnio: watus1992r
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:4 dni
  • Lokalizacja:Szczecin
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około godziny
  • Postów:5144
0

nie jestem expertem, ale to śmiga :P

Kopiuj
// Example program
#include <iostream>
#include <string>
#include <vector>

using namespace std;
void funkcja(vector<int> test)
{
    cout<<test[0]<<endl;
    cout<<test[1]<<endl;
    cout<<test[2]<<endl;
    cout<<test[3]<<endl;
}
int main()
{
    vector<int> tablica(4,2);
    funkcja(tablica);
}

edytowany 1x, ostatnio: WeiXiao
RE
i niezbyt dobre. przekazywać przez referencje po drugie skoro i tak zamierzasz wyświetlić wszystko to przez foreach.
Azarien
lepiej dać void funkcja(const vector<int> &test) bo inaczej kopiują się wszystkie dane przy wejściu do funkcji.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.