utworz - tworzy ona tablice o wymiarze do niej przekazanym (wiersze, kolumny) i wypełnia je zerami
Kod: Zaznacz cały
double** utworz(const unsigned int wiersze, const unsigned kolumny)
{
double**tab = new double* [wiersze];
for(unsigned i=0; i<wiersze; i++)
{
tab[i] = new double [kolumny];
for(unsigned j=0; j<kolumny; j++)
tab[i][j]=0;
}
return tab;
}
Kod: Zaznacz cały
bool czytaj (ifstream &plik, double **tab1, unsigned int &wiersze1, unsigned int &kolumny1, double **tab2, unsigned int &wiersze2, unsigned int &kolumny2)
{
plik >> wiersze1;
plik >> kolumny1;
if(wiersze1==0 || kolumny1==0) return false;
tab1=utworz(wiersze1,kolumny1);
for(unsigned i = 0; i < wiersze1; ++i)
for(unsigned j = 0; j < kolumny2; ++j)
plik >> tab1[i][j];
plik>>wiersze2;
plik>>kolumny2;
if(wiersze2==0 || kolumny2==0) return false;
tab2=utworz(wiersze2,kolumny2);
for(unsigned i = 0; i < wiersze2; ++i)
for(unsigned j = 0; j < kolumny2; ++j)
plik >> tab2[i][j];
return true;
}
Kod: Zaznacz cały
void wyswietl(double** tab, const unsigned int wiersze, const unsigned kolumny)
{
for(unsigned i=0; i<wiersze; i++)
{
{
for(unsigned j=0; j<kolumny; j++)
cout<<"["<<tab[i][j]<<"]";
}
cout<<endl;
}
}
Kod: Zaznacz cały
void usun(double **tab, const unsigned int wiersze)
{
for(unsigned i=0; i<wiersze; i++)
{
delete [] tab [i];
}
delete[]tab;
}
Kod: Zaznacz cały
int main()
{/////////////////////////////////////////////////////////////////////testy funkcji
ifstream wejscie("dane.txt");
double**A=0;
double**B=0;
unsigned int n,m,p,q;
bool udalo;
if(czytaj(wejscie,A,m,n,B,p,q))
{
testowa_wyswietl(A,m,n);
testowa_wyswietl(B,p,q);
}
else cout<<"bd w pliku, zle wymiary"<<endl;
wejscie.close();
usun(A,m);
usun(B,p);
//////////////////////////////////////////////////////////////////////testy funkcji
return 0;