Eccomi di nuovo! L'esercizio continua chiedendo in input un n inter e di costruire una matrice nxn. Se n è pari chiede di porre tutti gli elementi della matrice a 0 tranne quelli sulle diagonali, che vanno messi a 1.
Io ho fatto così(c'è anche la parte della richiesta precedente, già risolta);
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int i, limit, stop, n;
int j, k, somma, resto;
int coeff;
int Vett[100];
ifstream input("file1.in");
if(input.is_open())
{
i=0;
if(input.peek()!=EOF)
{
while(!input.eof())
{
input >> Vett[i];
i++;
}
input.close();
}
else
cout<<"Il file e' vuoto";
}
else
cout<<"Errore nell'apertura del file";
cout << "Inserisci un numero intero";
cin >> n;
int mat[n][n];
j = 0;
k = 0;
coeff = n - 1;
if (n>0)
{
resto = n % 2;
if (resto == 0)
{
for (k=0; k<n; k++)
{
for (j=0; j<n; j++)
{
mat[j][k]=0;
}
}
for (k=0; k<n; k++)
{
for (j=0; j<n; j++)
{
if (j=k)
mat[j][k]=1;
somma = j + k -1;
if (somma=coeff)
mat[j][k]=1;
}
}
}
cout << mat[0][0] << endl;
}
else
cout << "Numero inserito errato";
}
Dopo aver inserito n=4, ad esempio, il programma non da risultati. Come mai?