Programm zum Text Codieren über Matrizenmultiplikation:#include <iostream.h>
# include <stdlib.h>
int fumwandeln (char buchstabe) //Buchstaben in zahlen umwandeln
{
int temp;
switch (buchstabe)
{
case 'a': temp=1;
break;
case 'b': temp=2;
break;
case 'c': temp=3;
break;
case 'd': temp=4;
break;
case 'e': temp=5;
break;
case 'f': temp=6;
break;
case 'g': temp=7;
break;
case 'h': temp=8;
break;
case 'i': temp=9;
break;
case 'j': temp=10;
break;
case 'k': temp=11;
break;
case 'l': temp=12;
break;
case 'm': temp=13;
break;
case 'n': temp=14;
break;
case 'o': temp=15;
break;
case 'p': temp=16;
break;
case 'q': temp=17;
break;
case 'r': temp=18;
break;
case 's': temp=19;
break;
case 't': temp=20;
break;
case 'u': temp=21;
break;
case 'v': temp=22;
break;
case 'w': temp=23;
break;
case 'x': temp=24;
break;
case 'y': temp=25;
break;
case 'z': temp=26;
break;
case '_': temp=27;
break;
default: temp=0;
break;
}
return temp;
}
char fumwandeln (int zahl)
{
char temp;
switch (zahl)
{
case 0: temp='°';
break;
case 1: temp='a';
break;
case 2: temp='b';
break;
case 3: temp='c';
break;
case 4: temp='d';
break;
case 5: temp='e';
break;
case 6: temp='f';
break;
case 7: temp='g';
break;
case 8: temp='h';
break;
case 9: temp='i';
break;
case 10: temp='j';
break;
case 11: temp='k';
break;
case 12: temp='l';
break;
case 13: temp='m';
break;
case 14: temp='n';
break;
case 15: temp='o';
break;
case 16: temp='p';
break;
case 17: temp='q';
break;
case 18: temp='r';
break;
case 19: temp='s';
break;
case 20: temp='t';
break;
case 21: temp='u';
break;
case 22: temp='v';
break;
case 23: temp='w';
break;
case 24: temp='x';
break;
case 25: temp='y';
break;
case 26: temp='z';
break;
case 27: temp='_';
break;
}
return temp;
}
int frunden (float kommazahl)
{
int temp;
temp=kommazahl;
if ((kommazahl-temp)<0.5)
{return temp;}
if((kommazahl-temp)>=0.5)
{return (temp+1);}
}
class BRUCH
{
public:
float zaehler;
float nenner;
};
int main()
{
int fumwandeln(char); //buchstabe in zahl umwandeln
char fumwandeln(int);
char nachricht [9];
int nachrichtenmatrix [3][3];
int codierungsmatrix [3][3]= { {4,2,3},{6,5,6},{-2,-4,-4} };
int chiffre [3][3];
char codiertenachricht [9];
int k=0;
//----------
cout << "Geben sie die zu codierende MAtrix ein (MAx. 9 zeichen):"<<endl;
cin >> nachricht;
//------------
//zahlen(aus fumwandeln hervorgegangen) an matrix zuweisen:
for (int j=0;j<3;j++)
{
for (int i=0;i<3;i++)
{
nachrichtenmatrix [j][i]=fumwandeln(nachricht [k]);
k++;
}
}
//-------------
for (int m=0;m<3;m++)
{
for (int n=0;n<3;n++)
{
chiffre[m][n]=( nachrichtenmatrix[m][0]*codierungsmatrix[0][n]+nachrichtenmatrix[m][1]*codierungsmatrix[1][n]+nachrichtenmatrix[m][2]*codierungsmatrix[2][n] );
}
}
//------------Controlle
for (int m=0;m<3;m++)
{
for (int n=0;n<3;n++)
{
cout << chiffre[m][n] << "\t";
}
cout << "\n";
}
cout << "\n ";
//------------
for (int m=0;m<3;m++)
{
for (int n=0;n<3;n++)
{
chiffre[m][n]=(chiffre[m][n]+(2200*28));
}
}
//--------------
for (int m=0;m<3;m++)
{
for (int
# include <stdlib.h>
int fumwandeln (char buchstabe) //Buchstaben in zahlen umwandeln
{
int temp;
switch (buchstabe)
{
case 'a': temp=1;
break;
case 'b': temp=2;
break;
case 'c': temp=3;
break;
case 'd': temp=4;
break;
case 'e': temp=5;
break;
case 'f': temp=6;
break;
case 'g': temp=7;
break;
case 'h': temp=8;
break;
case 'i': temp=9;
break;
case 'j': temp=10;
break;
case 'k': temp=11;
break;
case 'l': temp=12;
break;
case 'm': temp=13;
break;
case 'n': temp=14;
break;
case 'o': temp=15;
break;
case 'p': temp=16;
break;
case 'q': temp=17;
break;
case 'r': temp=18;
break;
case 's': temp=19;
break;
case 't': temp=20;
break;
case 'u': temp=21;
break;
case 'v': temp=22;
break;
case 'w': temp=23;
break;
case 'x': temp=24;
break;
case 'y': temp=25;
break;
case 'z': temp=26;
break;
case '_': temp=27;
break;
default: temp=0;
break;
}
return temp;
}
char fumwandeln (int zahl)
{
char temp;
switch (zahl)
{
case 0: temp='°';
break;
case 1: temp='a';
break;
case 2: temp='b';
break;
case 3: temp='c';
break;
case 4: temp='d';
break;
case 5: temp='e';
break;
case 6: temp='f';
break;
case 7: temp='g';
break;
case 8: temp='h';
break;
case 9: temp='i';
break;
case 10: temp='j';
break;
case 11: temp='k';
break;
case 12: temp='l';
break;
case 13: temp='m';
break;
case 14: temp='n';
break;
case 15: temp='o';
break;
case 16: temp='p';
break;
case 17: temp='q';
break;
case 18: temp='r';
break;
case 19: temp='s';
break;
case 20: temp='t';
break;
case 21: temp='u';
break;
case 22: temp='v';
break;
case 23: temp='w';
break;
case 24: temp='x';
break;
case 25: temp='y';
break;
case 26: temp='z';
break;
case 27: temp='_';
break;
}
return temp;
}
int frunden (float kommazahl)
{
int temp;
temp=kommazahl;
if ((kommazahl-temp)<0.5)
{return temp;}
if((kommazahl-temp)>=0.5)
{return (temp+1);}
}
class BRUCH
{
public:
float zaehler;
float nenner;
};
int main()
{
int fumwandeln(char); //buchstabe in zahl umwandeln
char fumwandeln(int);
char nachricht [9];
int nachrichtenmatrix [3][3];
int codierungsmatrix [3][3]= { {4,2,3},{6,5,6},{-2,-4,-4} };
int chiffre [3][3];
char codiertenachricht [9];
int k=0;
//----------
cout << "Geben sie die zu codierende MAtrix ein (MAx. 9 zeichen):"<<endl;
cin >> nachricht;
//------------
//zahlen(aus fumwandeln hervorgegangen) an matrix zuweisen:
for (int j=0;j<3;j++)
{
for (int i=0;i<3;i++)
{
nachrichtenmatrix [j][i]=fumwandeln(nachricht [k]);
k++;
}
}
//-------------
for (int m=0;m<3;m++)
{
for (int n=0;n<3;n++)
{
chiffre[m][n]=( nachrichtenmatrix[m][0]*codierungsmatrix[0][n]+nachrichtenmatrix[m][1]*codierungsmatrix[1][n]+nachrichtenmatrix[m][2]*codierungsmatrix[2][n] );
}
}
//------------Controlle
for (int m=0;m<3;m++)
{
for (int n=0;n<3;n++)
{
cout << chiffre[m][n] << "\t";
}
cout << "\n";
}
cout << "\n ";
//------------
for (int m=0;m<3;m++)
{
for (int n=0;n<3;n++)
{
chiffre[m][n]=(chiffre[m][n]+(2200*28));
}
}
//--------------
for (int m=0;m<3;m++)
{
for (int
Comment