[C++]"Wyłuskiwanie" wartości zmiennej z pętli


(Dudek95) #1

Witam,

Mam pewien problem. Otóż mam pętlę, która wykonuje 2 obiegi, za każdym razem do zmiennej k przypisuje wartość, jaką zwraca funkcja Foo();. Potrzebuje, za każdym obiegiem funkcji wyłuskać wartość zmiennej k. Wiem, że trzeba użyć wskaźników, ale jak bym wiedział jak, to bym nie pytał. :oops:

Dzięki za pomoc,

Pozdrawiam.


(Sawyer47) #2

Pokaż jakiś kod, bo z opisu średnio domyślam się o co Ci chodzi.


(Dudek95) #3
int a,b;


	for(int u=1;u<3;u++)

	{

    T = new int[n];


	for(i = 0; i < n; i++){ cin >> T[i];}


    k = Foo(T);

	 delete [] T;

	}

Potrzebuję przypisać zmiennej a i b wartość k odpowiednio w 1 i 2 obiegu.


(Zulowski) #4

Nie wiem czy dobrze zrozumiałem, ale może po prostu w ciele pętli daj:

int a,b;


   for(int u=1;u<3;u++)

   {

    T = new int[n];


   for(i = 0; i < n; i++){ cin >> T[i];}


    k = Foo(T);

    if(u==1) a = k;

    if(u==2) b = k;

    delete [] T;

   }

(Dudek95) #5

Dzięki; rozwiązałem ten problem inaczej. To tylko dwa obiegi więc wyciągnąłem wszystko z for, potem 2x Ctrl+V, zmiana nazw drugiej tablicy i normalne przypisanie a i b. Działa, a Twój sposób zapamiętam na przyszłość.

Pozdrawiam.


(kostek135) #6

do tego służą tablice int k[2];

k[0] // nasze a

k[1] // nasze b

ze wzgledu ze funkcja iteruje od 1 to:

k[u-1] = to co zwraca funkcja.

Jeżeli chcesz użyc wskaźnika, przekaż wskaźnik na w/w tablice do funkcji a w funkcji zamiast return przypisz pod dana komórkę wartość, dzięki temu mimo zwinięcia się stosu funkcji i zginięcia wartości dla niej lokalnej wartość będzie istnieć w tablicy k, ktora to tablica nadal istnieje w main-ie.