Confronto fra righe e colonne di una matrice

di il
5 risposte

Confronto fra righe e colonne di una matrice

Ciao a tutti,
sto scrivendo un programma in cui, dopo aver riempito una matrice A[6][8] con 48 elementi interi (casuali) devo creare una matrice B[6][8] booleana (elementi 0 e 1) che rispetti questa caratteristica:
tutti i valori degli elementi di B devono essere o 1 (true) o 0 (false) , B[j]=1
se e solo se tutti gli elementi della riga A sono presenti anche nella colonna A[][j].
Praticamente in una riga ci sono 8 elementi casuali e in una colonna ce ne sono 6. Devo per prima cosa vedere se in ogni riga il numero di elementi (anche ripetuti) in totale non deve superare 6 (altrimenti non sarebbero presenti nella colonna tutti, visto che la colonna contiene al massimo 6 elementi!). Dopodichè dovrei confrontare ognuno di questi elementi con ognuno degli elementi di tutte le colonne per vedere se effettivamente coincidono. Infine devo stampare questa matrice booleana con i valori "1" in corrispondenza degli incroci tra riga e colonna che condividono gli stessi numeri.
Non riesco a trovare un algoritmo adeguato per fare questo. Qualcuno può aiutarmi?

5 Risposte

  • Re: Confronto fra righe e colonne di una matrice

    Fai un esempio di matrice A e B
  • Re: Confronto fra righe e colonne di una matrice

    Matrice A:
    1 2 2 4 5 6 8 8 (i valori sono 1,2,4,5,6,8)
    1 6 7 3 1 4 2 1 (i valori sono 1,2,3,4, 6,7)
    6 8 8 8 3 3 3 6 (i valori sono 3,6,8)
    1 1 1 2 1 1 1 2 (i valori sono 1 e 2)
    1 2 3 3 2 1 1 3 (i valori sono 1,2 e 3)
    4 6 8 7 2 1 2 7 (i valori sono 1,2,4,6,7,8)

    I valori sono almeno 6 diversi per riga, quindi qualsiasi riga potenzialmente potrebbe essere associata a una colonna.

    Matrice B:
    0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 1
    0 1 1 0 1 0 1 1
    0 0 1 0 1 0 1 1
    0 0 0 0 0 0 0 0

    Gli 1 nella matrice B devono essere visti così: ad esempio l'ultimo 1 della terza riga è così perchè nella terza riga gli unici elementi sono 3, 6 e 8 che si trovano tutti e 3 soltanto nell'ultima colonna.
  • Re: Confronto fra righe e colonne di una matrice

    Oggi Provo a farlo. Poi to dico
  • Re: Confronto fra righe e colonne di una matrice

    Aspetta, mi son bloccato.
    Se non erro, tu vuoi confrontare ogni valore con tutta la matrice e segnalare le posizioni con "1" se li, vi è presente lo stesso valore giusto ?
  • Re: Confronto fra righe e colonne di una matrice

    No, in realtà bisogna vedere quante volte i numeri compaiono in una riga dopodichè bisogna cercarli in ogni colonna e se sono presenti tutti si contrassegna con 1 la matrice in corrispondenza dell'incrociotra riga e colonna.
Devi accedere o registrarti per scrivere nel forum
5 risposte