Skocz do zawartości

Wprowadzenie dowolnej ilości zmiennych


zbysheck

Rekomendowane odpowiedzi

W programie ma być możliwość wprowadzania dowolnej ilości zmiennych, ale już tu pojawia się problem. Nie wiem gdzie je zapisać. Mógłbym je zebrać w tablicy, ale najpierw trzeba zadeklarować jej wielkość. Mógłbym zadeklarować jakąś dużą, której nie da się praktycznie wykorzystać, ale nie chce marnować na to pamięci.

 

Byłbym wdzięczny gdyby osoby mające skomentować to jakoś w stylu: "zrób dużą tablice, masz dużo ramu w kompie" się zamknęły, bo nie chodzi mi o to żeby program tylko działał, ale też żeby był w miarę optymalny. Z góry thx

Odnośnik do komentarza
Udostępnij na innych stronach

Zastosuj dynamiczne tworzenie i kasowanie zmiennych. W c++ pomogą "new" oraz "delete".

http://209.85.135.104/search?q=cache:_JD5v...;cd=2&gl=pl

Odnośnik do komentarza
Udostępnij na innych stronach

#include <iostream>
using namespace std;
int main()

{
    int *w= new int [];
    cin << *w[0];
    cin << *w[1];
    cin << *w[2];
    
    cout >> *w[0];
    cout >> *w[1];
    cout >> *w[2];
  
    system("pause")
    }

 

ktoś wie co jest nie tak? tzn najprawdopodobniej trzeba zdefiniować wielkość tablicy, ale da się to jakoś ominąć albo zrobić to w inny sposób?

Odnośnik do komentarza
Udostępnij na innych stronach

Trzeba zdefiniować wielkość. Ale jeśli masz określony typ to zrób to na listach.

Wikipedia -> c++ -> listy

Odnośnik do komentarza
Udostępnij na innych stronach

akurat tu chodziło o to że stawiałem * przed wskaźniekiem za każdym razem, teraz to zauważyłem

 

teraz mam inny problem

 

bawię się bloczkami, zadeklarowałem sobie dajmy na to A i chcę je wyciągnąć poza bloczek

 

blablabla

while(blabla)

{


bawię się zmienną A
}


nie mogę tu juz używac zmiennej A

 

jakieś pomysły?

Odnośnik do komentarza
Udostępnij na innych stronach

Jedyne wyjście to zadeklarować poza blokiem. Inaczej zmienne mają zasięg ograniczony tylko do danego bloku instrukcji i jego wnętrza.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Najlatwiejzym wyjsciem jest uzyc biblioteki vector. Automatycznie alokuje tyle pamięci ile tylko dusza zapragnie, i nie ma problemu z wyciekami pamieci :). http://pl.wikibooks.org/wiki/C%2B%2B/Vector Bawienie się wskaźnikami zawsze jest okraszone odrobiną ryzyka...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...