Funzione per relazioni binarie

di il
4 risposte

Funzione per relazioni binarie

Salve,
vorrei chiedervi aiuto su come impostare una funzione che avendo come parametri due array, uno visto come insieme di partenza e l'altro come relzaione binaria su quest'ultimo, verifichi che i valori contenuti nella relazione siano presenti anche nell'insieme,
grazie.

4 Risposte

  • Re: Funzione per relazioni binarie

    Spiegati meglio e comincia a postare il codice che hai provato a scrivere
  • Re: Funzione per relazioni binarie

    /* Acquisizione copie relazione binaria */
    void rel_bin(char *mess_1, /* IN: messaggio variabile */
    int num_elem, /* IN: numero elementi insieme X */
    int *array, /* IN: insieme X */
    int ind /* IN: indice scorrimento insieme X */
    int *rel_bin) /* OUT: array per le coppie della relazione */
    {
    /*Dichiarazione variabile locali */
    int num_rel, /* IN: numero di coppie della relazione */
    char sep; /* IN: separatore fra i due valori */
    int esito_lett, /* LAV: controllo variabile input */
    ind_2, /* LAV: indice scorrimento array relazione */
    num_copia; /* LAV: numero della coppia */

    /* Acquisizione numero delle coppie */
    do
    {
    printf("Digitare il numero di coppie da assegnare alla %s,",
    mess_1);
    printf("ricordandosi che deve essere <= di %d: ",
    num_elem * num_elem);
    esito_lett = scanf("%d",
    &num_rel);
    if (esito_lett != 1 || num_rel < 0 || num_rel > num_elem * num_elem)
    printf("Valore non accettabile!\n");
    while (getchar () != '\n');
    }
    while (esito_lett != 1 || num_rel <0 || num_rel > num_elem * num_elem);
    array = (int *)calloc(num_rel,
    sizeof(int));

    /* Acquisizione valori delle coppie */
    for (ind_2 = 0,
    num_copia = 1;
    (ind_2 <= num_rel * 2 - 2 );
    ind_2 + 2,
    num_copia++)
    {
    do
    {
    printf("Digitare la %d° copia nel formato x,y: ",
    num_copia);
    esito_lett = scanf("%d %c %d",
    &rel_bin[ind_2],
    &sep,
    &rel_bin[ind_2 + 1]);
    if (esito_lett != 3 || rel_bin[ind_2] < 0 || rel_bin[ind_2 + 1] < 0 || sep != ',')
    printf("Coppia non accettabile!\n");

    Questo è il codice fino adesso, la funzione chiede all'utente le coppie che compongono una relazione binaria.
    Il mio problema e come impostare un ciclo che verifichi che i valori x,y che compongono ogni coppia appartengono all'insieme X definito precedentemente.
  • Re: Funzione per relazioni binarie

    Il codice NON FORMATTATO correttamente E' ILLEGIBILE/INUTILE

    USA [</>]
  • Re: Funzione per relazioni binarie

    migliorabile ha scritto:


    Il codice NON FORMATTATO correttamente E' ILLEGIBILE/INUTILE

    USA [</>]
    Anche il tuo post è ILLEGGIBILE!
Devi accedere o registrarti per scrivere nel forum
4 risposte