Ragazzi ho un problema col seguente programma. Ancora non ho implementato la funzione che richiede l'esercizio perchè la seguente parte di codice non mi compila e mi da errore di segmentzione, perchè??? mi potete aiutare e correggermi l'errore????
/*Scrivere una funzione in lingaggio C che mediante l'algoritmo del bubblesort
ordini la i-esima riga di una matrice di puntatori a variabili di tipo complesso.
La matrice, il numero di colonne e l'indice della riga dovrannno essere passate
come argomento alla funzione. L'ordinamento dovrà essere fatto in base al modulo
crescente dei valori.*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define MAX 500
typedef struct complessi{
double re;
double im;
}Complex;
void riempi(Complex *mat[MAX][MAX],int,int);
void stampa(Complex *mat[MAX][MAX],int,int);
void ordina(Complex *mat[MAX][MAX],int,int);
int main(){
int i,j,n,m,p;
Complex *mat[MAX][MAX];
printf("Quante righe ha la matrice?\n");
scanf("%d",&n);
printf("Quante colonne ha la matrice?\n");
scanf("%d",&m);
riempi(mat,n,m);
stampa(mat,n,m);
system("pause");
return 0;
}
void riempi(Complex *mat[MAX][MAX],int n, int m){
int i,j;
srand(time(NULL));
for(i=0;i<n;i++){
for(j=0;j<m;j++){
mat[i][j]->re = rand()%10+1;
mat[i][j]->im = rand()%10+1;
}}
return;
}
void stampa(Complex *mat[MAX][MAX], int n, int m){
int i,j;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf(" %lf + i%lf",(mat[i][j])->re, (mat[i][j])->im);
}
printf("\n");
}
return;
}