Anfänger versteht C-Code nicht

ahykes

Erfahrenes Mitglied
Hallo Leute, ich bin ein ganz blutiger Anfänger in C und habe den folgenden CODE gekommen ( also als Hausaufgabe :rolleyes: ) und soll ihn analysieren. Kann mir einer die Funktion des Programmes erklären ?

Hier der Code :
Code:
# include <stdio.h>	

char klar_txt [81];	
char schluessel [9][9];	
char crypt_txt [81];	
int zeile, spalte, index;	
int  * crypt_ptr;		

int main(void)		
{
	while (1)		
	{
		printf(„\nGeben Sie eine zu verschlüsselnde Zeile ein.“); 
		printf(„\nBitte genau 80 Zeichen!“); 
		gets(klar_txt);	

		index = 0; 	
		for (zeile = 0; zeile < 9; zeile++)				                         for (spalte = 0; spalte < 9; spalte++) 
			{
			schluessel [zeile][spalte] = klar_txt [index];   				index++; 	
			}

		crypt_ptr = crypt_txt; 

		for (spalte = 0; spalte < 9; spalte++) 
			for (zeiele =0; zeile < 9; zeile++) 
			{
				* crypt_ptr = schluessel [zeile][spalte]; 
				crypt_ptr++; 
			}
		
		printf(„\n %s“, crypt_txt); 

		getch();
	}

	return 0;

}

Habt Ihr eine Ahnung? :p
 
Zuletzt bearbeitet:
moin!
also in der ersten doppellten for-schleife bekommt jede zeile des schlüssels 9 characters des klar_txt....haben dann alle 9 zeilen jeweils 9 chars ist klar_txt ausgelesen und die schleife wird beendet.
danach wird mit crypt_ptr = crypt_txt; die adresse von crypt_txt crypt_ptr zugewiesen.
danach folgt
for (spalte = 0; spalte < 9; zeile++)
for (zeiele =0; zeile < 9; zeile++)
{
* crypt_ptr = schluessel [zeile][spalte];
crypt_ptr++;
}
wobei die erste for-zeile glaub ich einen Fehler hat....es muss glaub ich heissen spalte++.
in der schleife wird *crypt_ptr die jeweilige adresse der schlüsselposition zugewiesen
dann wird crypt_ptr hochgezählt.
zum schluss wird mit
printf(„\n %s“, crypt_txt);
der inhalt von crypt_txt ausgegeben.
irgendwie scheint der ganze code aber etwas verbuggt zu sein.
 
Zuletzt bearbeitet:
Vielen Dank...kann man das evtl. so deuten, dass er das eingegebene Wort zunächst zeilenweise in das Array einliesst und dann spaltenweise als "angeblich" verschlüsseltes Wort ausgibt? :offtopic: :)

PS: DU hattest recht mit dem Fehler!
 
Zuletzt bearbeitet:
ja, es wird verschlüsselt, indem die buchstaben in der zweiten schleife in den Zeilen und Spalten durcheinandergewürfelt werden.
 
Zurück