Witam
Chciałbym napisać program (a raczej funkcje do programu) w postaci wskaźników. Prawie mi się udaje, ale ucina mi wartości pierwszych komórek w każdym rzędzie. Bardzo bym prosił o podpowiedź na razie związaną z drukowaniem. Oto kod:
#include<stdio.h>
#include<math.h>
#define N 7
double boundsum(double sqtab[N][N])
{
int i;
double sum=0;
for (i=0;i<N;i++)
{sum=sum+sqtab[i][6]+sqtab[i][0];}
for (i=1;i<N;i++)
{sum=sum+sqtab[0][i]+sqtab[6][i];}
return(sum);
}
void printtabpoint(double sqtab[N][N]) //<---Chodzi mi o ten fragment
{int i,j;
double *pprin;
pprin=sqtab;
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
{
printf("[%d][%d]=%f ",i,j,*(pprin+j*N+i));
}
pprin++;
printf("\n");
}}
void printtab(double sqtab[N][N])
{ int i,j;
for( i=0;i<N;i++)
{
for( j=0;j<N;j++)
printf("[%d][%d]=%f ",j,i,sqtab[i][j]);
printf("\n");
}
}
main()
{
int patt[N]={1,2,3,8,16,24,48}, i,j;
double sqtab[N][N];
for (i=0;i<N;i++)
{for (j=0;j<N;j++)
sqtab[i][j]=log(patt[i]+patt[j]);
}
printf("The boundary sum is equal to %f\n", boundsum(sqtab));
printtab(sqtab);
printf("\n\n");
printtabpoint(sqtab);
printf("\n");
}
Pozdrawiam