L'esercizio di per sč non č difficile ma probabilmente la mia mancanza di esperienza con i thread ed i puntatori mi spinge a chiedere aiuto.
da una matrice[6][24] devo fornire indici dove si trovano i valori minimi e massimi per riga.
questo č il codice, in temp2 vorrei salvare la matrice[6][2] contenenti i valori min e max per colonna,
Aiuto :/
#include<pthread.h>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
void stampa(int*a)
{ printf("min= %d max = %d \n",*a,*(a+1));
}
void* min_e_max(void*attr)
{int i,min,max,a[2]={0,0};
int* vett=(int*)attr;
min=max=*vett;
for(i=1;i<24;i++)
{if(*(vett+i)<min)
{min=*(vett+i);
a[0]=i;
}
else
{if(*(vett+i)>max)
{max=*(vett+i);
a[1]=i;
}
}
}
stampa(a);
pthread_exit((void*)a);
}
int main()
{srand(time(0));
int temp[6][24],i,j;
int **temp2;
for(i=0;i<6;i++)
{for(j=0;j<24;j++)
{temp[i][j]=rand()%35;
}
}
for(i=0;i<24;i++)
printf("%d% \n",temp[0][i]);
pthread_t t[6];
for(i=0;i<6;i++)
pthread_create(&t[i],NULL,&min_e_max,(void*)temp+i);
for(i=0;i<6;i++)
pthread_join(t[i],(void**)temp2+i);
for(i=0;i<6;i++)
{printf("\n%d\n",i);
stampa(*(temp2+i));
}
return 0;
}