Ragazzi ho necessariamente bisogno di capire perchè sto avendo problemi nella chiamata della funzione, ma in questo caso ho problemi nel restituire questa matrice mi dice: cannot convert int*[3] a int** nel return....questo per quale motivo?
#include<iostream>
using namespace std;
const int M=3;
int ** es1(int A[][M],int N)
{
int z,i,k=0,j=0,S1=0,S2=0;
int R[N][M];
for(int z=0;z<N;z++)
{
for(int i=0;i<M;i++)
{
while(k<N)
{
S1 +=A[k][i];
k++;
}
while(j<M)
{
S2 +=A[z][j];
k++;
}
R[z][i] = S1 - S2;
}
k=z; j=i; S1=0; S2=0;
}
return R;
}
int main()
{
int n = 3;
int a[n][M] = {{1,2,4},{3,5,4},{3,5,4}};
int **r = es1(a,n);
return 0;
}
in questo caso invece non capisco perchè la chiamata non funge...
#include<iostream>
using namespace std;
float* es1(int **a, int c, int r)
{
float *A = new float[c];
int max = a[0][0];
int min = a[0][0];
int somma = 0;
for(int i = 0; i<c; i++)
{
for(int j = 0; j<r; j++)
{
if(i%2 == 0)
{
if(a[j][i] > max)
max = a[j][i];
if(a[j][i] < min)
min = a[j][i];
}
else
{
somma += a[j][i];
}
}
if(i%2 == 0)
A[i] = (float)(max + min) / 2;
else
A[i] = (float) somma/r;
somma = 0; max = 0; min = 1000;
}
return A;
}
int main()
{
int j = 3, i = 3;
int M[j][i] = {1,2,3,4,5,6,7,8,9};
float *A= es1(M,j,i);
cout<< "1 -"<<A[0]<<endl;
cout<< "2 -"<<A[1]<<endl;
cout<< "3 -"<<A[2]<<endl;
return 0;
}
Gentili comunque sia la risposta