Ecco il codice.
PS.Scusate sono nuovo.
#include <stdio.h>
#include <string.h>
void main()
{
char matrice [6][10]={{'Y','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'},
{'Y','K','7','Z','S','G','X','H','Y','K'},
{'O','8','J','E','Q','D','N','5','O','8'}};
char c[50];
char b[50];
int ri[50];
int co[50];
int i,j,n,z,z1,k,y,rig,col,j2,i2;
printf("La matrice di crittografia e':\n\n");
for (i=1;i<5;i++)
{
for(j=1;j<9;j++)
{
printf("%c ",matrice [i][j]);
}
printf("\n\n");
}
printf("Inserire il messaggio da crittografare: ");
scanf("%s",&c);
printf("\n");
n=strlen(c);
for (i=0;i<n;i=i+2)
{
b[i]=c[i];
b[i+1]=c[i+1];
}
printf("La parola suddivisa in coppia di lettere e':");
for (i=0;i<n;i=i+2)
printf("%c%c ",b[i],b[i+1]);
printf("\n");
z=0;
for (i=0;i<n;i=i+2) /*Da qui estrapolare la function*/
{
if (c[i]==c[i+1])
{
b[(i+z)]=c[i];
b[(i+1+z)]='X';
b[(i+2+z)]=c[i];
z1=z+1;
z=z1;
}
else
{
b[(i+z)]=c[i];
b[(i+1+z)]=c[i+1];
}

}
k=(n+z);
printf("\n");
for (y=0;y<k;y++)
{
for (i=1;i<5;i++)
{
for (j=1;j<9;j++)
{
if (b[y]==matrice[i][j])
{
rig=i;
col=j;
ri[y]=rig;
co[y]=col;
}
}
}
}
printf("Gli indici riga e colonna sono: ");
for(y=0;y<k;y++)
printf("(%d.%d), ",ri[y],co[y]);
printf("\n\n");
for (y=0;y<k;y=y+2)
{
if (ri[y]==ri[y+1])
{
i=ri[y];
j=co[y];
j2=co[y+1];
b[y]=matrice[i][j+1];
b[y+1]=matrice[i][j2+1];

}
if (co[y]==co[y+1])
{
i=ri[y];
i2=ri[y+1];
j=co[y];
b[y]=matrice[i+1][j];
b[y+1]=matrice[i2+1][j];
}
if ((ri[y]!= ri[y+1])&&(co[y]!=co[y+1]))
{
i=ri[y];
i2=ri[y+1];
j=co[y];
j2=co[y+1];
b[y]=matrice[i][j2];
b[y+1]=matrice[i2][j];
}


}
printf("La parola criptata e':");
for (y=0;y<k;y++)
printf("%c",b[y]);
printf("\n\n");
for (y=0;y<k;y++)
{
for (i=1;i<5;i++)
{
for (j=1;j<9;j++)
{
if (b[y]==matrice[i][j])
{
rig=i;
col=j;
ri[y]=rig;
co[y]=col;
}
}
}
}
for (y=0;y<k;y=y+2)
{
if (ri[y]==ri[y+1])
{
i=ri[y];
j=co[y];
j2=co[y+1];
b[y]=matrice[i][j-1];
b[y+1]=matrice[i][j2-1];

}
if (co[y]==co[y+1])
{
i=ri[y];
i2=ri[y+1];
j=co[y];
b[y]=matrice[i-1][j];
b[y+1]=matrice[i2-1][j];
}
if ((ri[y]!= ri[y+1])&&(co[y]!=co[y+1]))
{
i=ri[y];
i2=ri[y+1];
j=co[y];
j2=co[y+1];
b[y]=matrice[i][j2];
b[y+1]=matrice[i2][j];
}
}
printf("La parola decriptata e': ");
for (y=0;y<k;y++)
printf("%c",b[y]);
printf("\n\n");

}