Buongiorno a tutti! Mi sono appena iscritto perchè non riesco ad ovviare al mio problema.
Ve lo descrivo tutti senza troppi preamboli.
Devo riempire una matrice acquisendo degli interi da un file esterno. Come potete vedere dal codice allegato, ho prima riempito tutta la matrice di 0 e ora sto cercando di riempirla con i numeri che mi servono. In sostanza nel file di input il primo numero corrisponde all'indice di riga, il secondo all'indice di colonna e il terzo sarebbe il numero che vorrei andasse "nella cella". In sostanza se la riga del file di input è 1 2 5, 1 è la riga, 2 la colonna, 5 il numero da inserire in quella posizione.
N.B. Dato che gli array partono da 0, tutta la riga e la colonna dello 0 deve rimanere tale! Questo perchè ci andrò ad allocare un altro dato che mi serve. Quindi se dico 1 è la riga intendo proprio nella posizione 1 e non 0.
Vi allego il pezzo di programma che ho scritto e il file di input per farvi capire meglio.
La prima riga del file di input non riguarda il problema che vi ho posto, gli interi che mi servono per riempire la matrice sono le righe composte da 3 cifre separate da uno spazio.
Se non mi sono spiegato bene chiedete, cercherò di essere più chiaro
#include<stdio.h>
#include<stdlib.h>
#define MAX 50000
main()
{
int n,m,h,s,a,b,l;
int contatore;
int collegamenti[MAX+1][MAX+1];
FILE *fr, *fw;
fr=fopen("input.txt","r");
fw=fopen("output.txt","w");
fscanf(fr,"%d %d %d %d",&n,&m,&h,&s);
//inizializzo la matrice
for(i=0;i<MAX+1;i++)
for(j=0;j<MAX+1;j++)
collegamenti[i][j]=0;
//carico le gallerie in base alla loro luminosità
int p;
for(p=0;p<m;p++)
{
fscanf(fr,"%d %d %d",&a,&b,&l);
return 0;
}
5 6 1 5
1 2 5
2 3 1
3 4 3
4 5 2
5 1 6
1 4 4