10/04/2022, 18:12
0 0 1 0 0 1 0
1 1 0 0 1 0 0
0 0 0 0 0 1 1
0 0 0 0 0 1 0
0 0 0 0 0 1 1
0 0 1 0 0 1 0
0 0 0 0 0 0 0
0 0 0 0 0 1 1
0 0 0 0 0 1 0
0 0 0 0 0 1 1
0 0 0 0 0 0 0
1 1 0 0 1 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
10/04/2022, 22:29
#include <iostream>
using namespace std;
const unsigned int R = 5;
const unsigned int C = 7;
bool M[R][C] = {{0, 0, 1, 0, 0, 1, 0},
{1, 1, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 1, 1},
{0, 0, 0, 0, 0, 1, 0},
{0, 0, 0, 0, 0, 1, 1}};
void fun_2(int *frutto, int *persona, const unsigned int j, const unsigned int n);
void fun_1(int *frutto, int *persona, const unsigned int i, const unsigned int n)
{
for(unsigned int j = 0; j < C; ++j)
{
if(!persona[j] && M[i][j])
{
persona[j] = n;
fun_2(frutto, persona, j, n);
}
}
}
void fun_2(int *frutto, int *persona, const unsigned int j, const unsigned int n)
{
for(unsigned int i = 0; i < R; ++i)
{
if(!frutto[i] && M[i][j])
{
frutto[i] = n;
fun_1(frutto, persona, i, n);
}
}
}
int main()
{
int frutto[R] = {0};
int persona[C] = {0};
for(unsigned int i = 0, n = 1; i < R; ++i)
{
if(!frutto[i])
{
frutto[i] = n;
fun_1(frutto, persona, i, n++);
}
}
//OUTPUT-----------------------------------
for(unsigned int i = 0; i < R; ++i)
{
for(unsigned int j = 0; j < C; ++j)
{
cout << M[i][j] * frutto[i] << " ";
}
cout << endl;
}
}
0 0 1 0 0 1 0
2 2 0 0 2 0 0
0 0 0 0 0 1 1
0 0 0 0 0 1 0
0 0 0 0 0 1 1
Process returned 0 (0x0) execution time : 0.023 s
Press any key to continue.
11/04/2022, 13:13
12/04/2022, 10:23
16/04/2022, 09:49
16/04/2022, 10:58
Silent ha scritto:Proverò, grazie mille per la tua disponibilità
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.