Quote Originariamente inviata da Scara95 Visualizza il messaggio
Nessun problema. Nota che io ti ho offerto 2 coppie di funzioni in ogni caso: una usa malloc e free, l'altra new e delete.
Se c'è qualcosa che non capisci chiedi pure (:
Ciao scara! Il tuo programma funziona correttamente, ho preferito utilizzare le funzioni con new int e delete che, a mio parere, sono più semplici da ricordare e da scrivere. Ho continuato il programma, ora è a buon punto, ho aggiunto una funzione che mi calcola l'indice minimo nelle colonne, te lo faccio vedere



codice:
#include <iostream>
#include <fstream>
#include <cstdlib>


using namespace std;


int **readMat(int**&m, size_t& size) 
{
	ifstream in("mat.txt");
    in >> size;
    m = new int *[size];
    for(int i = 0; i < size; ++i)
        m[i] = new int[size];
    for(int i = 0; i < size; ++i)
        for(int j = 0; j < size; ++j)
            in >> m[i][j];
    return m;
}


void freeMat(int **&m, size_t size) {
    for(int i = 0; i < size; ++i)
        delete[] m[i];
    delete[] m;
}


int   calc_ind_min(int **&m,int size,int r)
{
	int min=m[r][0];
	int i,indmin=0;
	for (i=0;i<size;i++)
	{
      if (m[r][i]<min)
      {
      	min=m[r][i];
      	indmin=i;
      }
	}
	cout<<indmin;
	return indmin;
}


int main(void) {
    size_t size;
    int **m;
    readMat(m, size);
    for(int i = 0; i < size; ++i) {
        for(int j = 0; j < size; ++j)
            cout << m[i][j] << '\t';
        cout << endl;
    }
    int r;
    for(r=0;r<size;r++)
	{
		calc_ind_min(m,size,r);
    }
    freeMat(m, size);
    return 0;
}
Però ti vorrei chiedere alcune cose. Nel programma mi è quasi tutto chiaro, devo solo capire, qual'è precisamente la funzione di new int? La funzione di delete è quella di liberare la memoria altrimenti si appesantisce il sistema, ma new int, prima di size nella prima funzione, a che serve precisamente?
E poi, size_t che tipo è? Ha la stessa funzione di unsigned int? Grazie per il tuo tempo!!