Witam,
Probuje napisac program ktory rekurencyjnie wczyta dane, a nastepnie stworzy z nich tablice dynamiczna.
Tablice te bede wykorzystywal po zakonczeniu fukcji.
W chwili obecnej mam cos takiego:
#include <iostream>
#include <stdlib.h>
using namespace std;
void podaj_liczbe(int &rozmiar, int &licznik, double*& wsk){
double x;
cout << "Podaj liczbe, 0 konczy wczytywanie" << endl;
cin >> x;
licznik++;
if ( x == 0) {
rozmiar = licznik;
wsk = new double[rozmiar];
}
else{
podaj_liczbe(rozmiar, licznik, wsk);
}
wsk[licznik]=x;
licznik--;
}
void drukuj_tablice(int rozmiar, double wsk[]){
cout << "\nDrukuje zawartosc tablicy: \n" << endl;
for (int i = 1; i <= rozmiar; i++)
cout << " Pozycja: " << i << " \tWartosc: " << wsk[i] << endl;
}
int main()
{
double *wsk;
int rozmiar = 0;
int licznik = 0;
podaj_liczbe (rozmiar, licznik, wsk);
drukuj_tablice(rozmiar, wsk);
}
Czy poprawnie posluguje sie wskaznikami?
Program sie kompiluje i uruchamia poprawnie, jednak probuje zastosowac ten schemat w wiekszym programie ktory takze sie kompiluje, jednak zawiesza sie po uruchomieniu w Virtualboxie (XP) a dziala poprawnie we wlasciwym systemie (tez XP).
Nie wiem gdzie tkwi blad, chce wykluczyc bledy w skladni przepuszczane przez kompilator. (Codeblocks GCC)
Prosze o pomoc.