Ho risolto così...è un pò bovino ma funziona (basta creare un file txt di nome matrice con dentro la matrice come l'ho scritta sopra).
#include<stdlib.h>
#include<stdio.h>
int* converti(){
int vett[100];
FILE *fd;
int a;
int j=0;
int *p;
int *q;
int *r;
int *s;
int *t;
p=(int*)malloc(5*sizeof(int));
q=(int*)malloc(5*sizeof(int));
r=(int*)malloc(5*sizeof(int));
s=(int*)malloc(5*sizeof(int));
t=(int*)malloc(5*sizeof(int));
/* apre il file */
fd=fopen("matrice.txt", "r");
/* verifica errori in apertura */
if( fd==NULL ) {
perror("Errore in apertura del file");
exit(1);
}
/* legge l'array */
//if(n>=100)
//printf("Troppi elementi da leggere\n");
//else
printf("lista adiacenza vertice 0:\n");
for(a=0; a<=4; a++){
fscanf(fd, "%d", &vett[a]);
if (vett[a]==1){
p[j]=a;
//printf("lista adiacenza vertice 0:\n");
printf("%d ", p[j]);
j++;
}
}
j=0;
printf("\n");
printf("lista adiacenza vertice 1:\n");
for(a=5; a<=9; a++){
fscanf(fd, "%d", &vett[a]);
if (vett[a]==1){
q[j]=a-5;
//printf("lista adiacenza vertice 1:\n");
printf("%d ", q[j]);
j++;
}
}
j=0;
printf("\n");
printf("lista adiacenza vertice 2:\n");
for(a=10; a<=14; a++){
fscanf(fd, "%d", &vett[a]);
if (vett[a]==1){
r[j]=a-10;
//printf("lista adiacenza vertice 2:\n");
printf("%d ", r[j]);
j++;
}
}
j=0;
printf("\n");
printf("lista adiacenza vertice 3:\n");
for(a=15; a<=19; a++){
fscanf(fd, "%d", &vett[a]);
if (vett[a]==1){
s[j]=a-15;
//printf("lista adiacenza vertice 3:\n");
printf("%d ", s[j]);
j++;
}
}
j=0;
printf("\n");
printf("lista adiacenza vertice 4:\n");
for(a=20; a<=24; a++){
fscanf(fd, "%d", &vett[a]);
if (vett[a]==1){
t[j]=a-20;
//printf("lista adiacenza vertice 4:\n");
printf("%d ", t[j]);
j++;
}
}
/* chiude il file */
fclose(fd);
printf("\n");
return (p);
}
int main() {
converti();
system("pause");
//vorrei stampare la lista 0 che calcolo in converti()
}
ora però ho un altro problema. Devo recuperare i valori dei 5 vettori che ho allocato nella funzione nel main...mi sto un pò incasinando. Ad esempio se volessi stampare il vettore corrispondente alla lista 0 che calcolo in converti come potrei fare??
Spero di essere stato comprensibile e che qualcuno possa aiutarmi
p.s. grazie per i suggerimenti