Ho una rete a topologia cubica con 8 nodi e ciascun nodo è rappresentato da 3 cifre binarie (particamente è un codice di Hamming).
Prendo in ingresso il nodo di partenza ed il nodo di arrivo e devo calcolare un percorso minimo stampando a video tutti i nodi attraverstati.
Per esempio: nodo partenza = 000, nodo di arrivo = 101 e il percorso sarà 000 -> 100 -> 101
Avevo pensato di cercare i nodi intermedi confrontando ogni singolo bit del nodo di partenza con quelli del nodo di arrivo..ma forse c'è qualche funzione in C che mi permette di rendere il tutto meno laborioso?
Vi posto parte del codice
codice:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nodo1[3];
int nodo2[3];
int percorso[2][3];
int i;
printf("Inserisci nodo 1\n\n");
for ( i = 0; i < 3; i++ ) {
printf("Inserisci la %da cifra binaria : ", i );
scanf("%d", &nodo1[i]);
}
printf("\n");
printf("Inserisci nodo 2\n");
for ( i = 0; i < 3; i++ ) {
printf("Inserisci %da cifra binaria : ", i );
scanf("%d", &nodo2[i]);
}
printf("\n\n");
printf("Nodo1\n");
for ( i = 0; i < 3; i++ ) {
printf("%d", nodo1[i]);
}
printf("\n\n");
printf("Nodo2\n");
for ( i = 0; i < 3; i++ ) {
printf("%d", nodo2[i]);
}
return 0;
}