Witam!
Po pierwsze przyznam się i przeproszę: jestem kiepski w programowaniu! Ale co zrobić... muszę napisać program i napisałem na razie coś takiego (program nie jest skończony, ale chciałem sprawdzić czy to co napisałem robi to co chciałbym żeby robiło):
#include <iostream>
using namespace std;
double z0[25]={0,0,0,0,0,0,1,1,1,0,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0};
double z1[25]={0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0};
double z2[25]={0,1,1,1,0,0,1,0,1,0,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0};
double z3[25]={0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0};
double macierzW[25][25],macierzSNG[25];
int i,j;
double wywolywaniemacierzy(double *macierz)
{
for (i=0;i<25;i++)
{
if (macierz[i]==1)
{
std::cout << "* ";
}
else
{
std::cout << " ";
}
if (i==4)
{
std::cout << " " << endl;
}
if (i==9)
{
std::cout << " " << endl;
}
if (i==14)
{
std::cout << " " << endl;
}
if (i==19)
{
std::cout << " " << endl;
}
if (i==24)
{
std::cout << " " << endl;
}
}
}
double W(double *macierz, double *macierzT)
{
double macierzW[25];
for (j=0;j<25;j++)
{
for (i=0;i<25;i++)
{
macierzW[i][j]=0.04*macierz[i]*macierzT[j]+0.04*macierz[i+1]*macierzT[j+1];
}
}
}
double sgn(double* macierz)
{
double macierzsgn[25];
for (i=0;i<25;i++)
{
if (macierz[i]<0)
{
macierzsgn[i]=-1;
}
else
{
macierzsgn[i]=1;
}
}
}
double SGN(double *macierz, double *macierz2)
{
double macierzSGN[25];
for (j=0;j<25;j++)
{
for (i=0;i<25;i++)
{
macierzSGN[j]=macierzSGN[j]+macierz[i][j]*macierz2[i];
}
}
}
int main()
{
wywolywaniemacierzy(z0);
W(z0,z0);
for (int j=0;j<25;j++)
{
for (int i=0;i<25;i++)
{
std::cout << macierzW[i][j];
}
std::cout << " "<< endl;
}
return 0;
}
Problem znajduje się w funkcji double W(double *macierz, double *macierzT) i double SGN(double *macierz, double *macierz2), w obu przypadkach chodzi o to samo.
53 17 [Error] invalid types 'double[int]' for array subscript
domyślam się, że coś spieprzyłem z tablicą dwuwymiarową, ale po kilku godzinach nie mam pojęcia co.
Mam nadzieję, że ktoś życzliwy mi pomoże. Z góry dziękuję za odpowiedź.