[C++] Problema con la lettura di una matrice da file

di il
5 risposte

[C++] Problema con la lettura di una matrice da file

Ciao a tutti, sono nuovo del forum! Vorrei chiedere aiuto a voi esperti circa un programma che non riesco a fare. Devo leggere una matrice da file di testo e poi trovarne il punto di sella. Sul punto di sella non ci sono problemi, so come si fa, il problema è leggere la matrice da file e soprattutto il riempimento delle righe e delle colonne... è una matrice quadrata 4x4. L'input da file di testo è questo:
4
2 17 19 22
3 20 7 9
25 23 32 40
13 21 27 39

Tuttavia non so come fargli leggere solamente il primo numero come riempimento delle righe e delle colonne. Vi posto quello che ho fatto fino ad ora, ma funziona solo se l'input è questo:

2 17 19 22
3 20 7 9
25 23 32 40
13 21 27 39


Ecco il programma (così funziona, ma va completato e non so come! Grazie a chiunque mi darà una mano):

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <stdlib.h>
#define R 4
#define C 4


using namespace std;
 
 
void leggomat() {

 int mat[R][C];

   // legge dati
   ifstream dati("mat.txt");
   int r = 0;
   while(!dati.eof())
   {
      dati >> mat[r][0] >> mat[r][1] >> mat[r][2] >> mat[r][3];
      r++;
   }
   dati.close();

   // visualizza dati
   int i;
   for(i=0; i<r; i++)
      cout <<  mat[i][0] << " " << mat[i][1] << " " << mat[i][2] << " "<< mat [i] [3] << endl;
      
  }
  

 int main () {
  	
     leggomat();
	 
	 
	 return 0;  }

5 Risposte

  • Re: [C++] Problema con la lettura di una matrice da file

    Usa il tag Code per postare il codice.
    Ecco il programma (così funziona, ma va completato e non so come! Grazie a chiunque mi darà una mano)
    Se la lettura con leggomat() funziona, prosegui la ricerca del punto di sella. Cos'è che ti blocca?
  • Re: [C++] Problema con la lettura di una matrice da file

    Ciao, grazie per la risposta! Il problema è che devo far leggere al programma quel 4 in alto a tutto sull'input, per dirgli che 4 sarebbero il numero di righe e colonne (R, C), ma siccome sono un neofita della programmazione non lo riesco a fare...
  • Re: [C++] Problema con la lettura di una matrice da file

    Se la dimensione della matrice è fissa, 4x4, potresti semplicemente fare una lettura a vuoto per saltare il dato.
    Se invece la dimensione della matrice è dinamica, nxn, hai due strade:
    - lavori con una matrice con una dimensione massima (però devi fare attenzione che la dimensione richiesta da file non sia maggiore del massimo)
    - lavori con una matrice allocata dinamicamente (con malloc() o new)
  • Re: [C++] Problema con la lettura di una matrice da file

    Vedi

    http://forum.html.it/forum/showthread.php?threadid=2910824

    Attenzione perché il crossposting non è consentito ...
  • Re: [C++] Problema con la lettura di una matrice da file

    Grazie ancora per le vostre risposte, tenterò di rifare il programma in altro modo, poi posterò la soluzione in modo che anche altri possano beneficiarne. Mi scuso per il Cross Posting, tuttavia ci tengo a dire che non l'ho fatto assolutamente in mala fede, desideravo avere più possibilità di risposta in quanto fino a questo momento nessuna era stata soddisfacente.
Devi accedere o registrarti per scrivere nel forum
5 risposte