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;
}