Salve a tutti, sono da poco iscritto, e ogni tanto mi diletto nella programmazione.
Sono ancora all'inizio, ma ho incontrato un bell'ostacolo.
In pratica io ho 1 array unidimensionale L[7], e 2 matrici, A[7][2] e R[12][3].
In pratica con la funzione confrontamatrice devo confrontare il vettore L con la matrice A, per vedere se nel vettore L sono vicini due elementi presenti nelle matrice A della stessa colonna.codice:#include <stdio.h> #include <stdlib.h> #define N 12 #define M 7 void confrontamatrice(int [], int[][2], int [][3]); int main(){ int L[N] = {4, 18, 1, 12, 8, 10, 7, 16, 5, 9, 20, 15}; int A[M][2] = {{12, 8}, {20, 9}, {9, 7}, {6, 17}, {4, 15}, {3, 16}, {10, 8}}; int R[N][3]; int d = 0, f = 0; confrontamatrice(L, A, R); printf("Stampa della matrice R ordinata per Posto, Persona e Persona\n\n"); for( d = 0; d <= 6; d++){ printf("%d %d %d\n", R[d][0], R[d][1], R[d][2]); } return 0; }
Ad esempio nel vettore L sono vicini in posizione 3 i numeri 12 e 8, che sono la prima riga della matrice A.
Quindi, se trova corrispondenza, deve scrivere nella matrice R, la posizione e quindi i due elementi che erano vicini.
Ecco io non riesco a fare questo, ho pensato a un doppio ciclo for per leggere la matrice + un ciclo for per leggere il vettore, qualcosa del tipo:
Ma quindi non riesco ad andare avanti, ed ogni cosa che ho provato estrae risultati improponibili.. voi come fareste? Mi ci sto disperando ç_çcodice:void confrontamatrice(int tavolo[N], int antipatie[M][2], int risultato[N][3]){ int i, j, k; for(i = 0; i <= 6; i++){ for(j = 0; j <= 1; j++){ for( k = 0; k <= 11; k++){

Rispondi quotando