Decodierungs-Programm
-
Hallo!
Ich habe Probleme mit einem Programm, welches Zeichen, die in einem char array gespeichert sind, decodieren und ausgeben soll.
Decodiert soll so werden, dass jedes Zeichen durch jenes ersetzt wird, dessen ascii Code um 1 kleiner ist als das ursprüngliche.
Könnte mir bitte jemand sagen wie ich das Programm zum laufen bringe?
Vielen Dank!#include <stdio.h> char* decode ( char *z,int a,int b,int c ) { int i,j; char* x; for(j=a;j<b;j++){ for((i=0);(i<c);(i++)){ x=z[j][i]; char zeichen= 'x'; int ascii =(int)zeichen; zeichen = (char)(ascii-1); } } return z ; } int main () { char destinationStorage[2][100]; sprintf (destinationStorage[0] , "Bssjwbm ; ! Qmbofu ; Sjtb!Dppse ;59023O!27033P! Ujnf ! 23 ; 42 ! Ebuf;!1 5 / 1 7 / 3 1 9 9 ") ; sprintf(destinationStorage[1] , "Ef tujobujpo ; ! " ); int j,i; char x; x=decode(&destinationStorage); for(j=0;j<2;j++){ for((i=0);(i<100);(i++)){ printf("%c",destinationStorage[i][j]);} printf("\n"); } return 0; }
-
Du solltest angeben, was denn nicht funktioniert. Ist mir auch rätselhaft, was der Code bewirken soll, aber die decode-Funktion sollte so aussehen:
void decode (char* str,int length) { for (int i=0;i<length;i++)str[i]--; }