Salve a tutti. Ci è stato chiesto di scrivere un programma che riempia un array A[6][8] con interi letti da un file. Bisogna anche dichiarare un array booleano B[6][8]. Dopodiche, assegnare valori di tipo bool agli elementi di B in modo tale che, per ogni i in [0..5] e j in [0..7], B
[j]=true se e solo se tutti gli elementi della riga A sono presenti anche nella colonna A[][j]. Infine, stamapre l'array B in un file output.
Questo è il programma che ho scritto, ma non funziona. La compilazione funziona senza errori, ma l'esecuzione non riesce. Premetto che sono proprio un novellino in c++ e specialmente in questi argomenti, essendo il primo rogramma in cui utilizzo i file.
#include<iostream>
#include<fstream>
using namespace std;
main()
{ ifstream IN("input");
ofstream OUT("output");
if (IN && OUT)
{ int i=0, j=0, A[6][8];
while (i<6)
{while (j<8)
{ IN>>A[i][j];
j++;}
i++;}
i=0, j=0;
bool B[6][8];
while (i<6)
{ while (j<8)
{bool match= true; int z=0;
while (z<6 && match==true)
{ int k=0; match= false; bool ok=false;
while (k<8 && ok==false)
{ if (A[i][z]==A[k][j])
ok=true; k++;}
if (ok==true)
match==true; z++; }
B[i][j]==match;
OUT<<B[i][j];}
j++;}
i++;
IN.close(); OUT.close();}
else
cout<<"errore con files";}
Se qualcuno riuscisse a darmi una mano sarebbe apprezzato perchè non capisco davvero cosa ci sia di sbagliato.