Salve ragazzi. Ho un piccolo problema. Ho una matrice di caratteri,devo da quest'ultima una nuova matrice che è la permutazione della precedente, usando la funzione srand. Non so come fare. Ho provato memorizzare gli elementi della matrice all'interno di un array. Generare numeri casuali,e di associare ad ogni elemento della nuova matrice la lettera che si trova alla posizione numero(rand) dell'array. Il problema è che si possono generare anche numeri uguali e quindi c'è la possibilità di prfendere due volte gli stessi valori.
Ecco il codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
char matrice [6][10]={{'O','K','7','Z','S','G','X','H','Y','K'},
{'O','8','J','E','Q','D','N','5','O','8'},
{'W','P','U','3','A','R','F','L','W','P'}, {'I','4','V','C','2','T','M','B','I','4'},
{'K','K','7','Z','S','G','X','H','Y','K'},
{'O','8','J','E','Q','D','N','5','O','8'}};
int i,j,k;
int nc[32];
char l_matrice[32];
char matrice2[4][8];
k=0;
for(i=1;i<5;i++)
{
for(j=1;j<9;j++)
{
l_matrice[k]=matrice[i][j];
k++;
}
}
srand((unsigned int)time(0));
for(i=0;i<32;i++)
{
nc[i]=rand()%32;
}
k=0;
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
matrice2[i][j]=l_matrice[nc[k]];
k++;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
printf("%c ",matrice2[i][j]);
}
printf("\n");
}
}
Aiutoooooooooooooo!!!!!!!!!!!!!!