Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
26.11.12, 19:26
|
#1
|
Alleine
Registriert seit: Feb 2011
Beiträge: 301
Bedankt: 103
|
Hilfe bei einer Aufgabe in C
Guten Abend zusammen,
hoffe hier kann mir jemand helfen. Und zwar muss ich einen ASCII-Code entschlüsseln in C.
Hier mal die Aufgabenstellung:
Zitat:
Nehmen Sie nun ein Feld von 30 Elementen, speichern Sie darin die Zeichenkette
"Qdbdovr$", codieren Sie es wieder um, und geben Sie die entschlüsselte Version aus.
(Sie müssen allerdings selber rauskriegen, welche Zahl Sie nun zu jedem Zeichen addieren oder subtrahieren müssen).
|
Der einzige Hinweis den ich noch habe ist das ich eine "Schleife" basteln muss. Das war ja irgendwas mit "for" mein ich.
Das Feld und das speichern der Zeichenkette hab ich schon.
Vielen Dank für eure Hilfe ;-)
|
|
|
26.11.12, 19:39
|
#2
|
OS X'ler
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
|
Hi,
da dort von Addition bzw. Subtraktion die Rede ist, vermute ich, dass die Caesar-Verschlüsselung genommen werden soll.
Die notwendige Zahl kennst du nicht.
Setzen wir fest, dass die gesuchte Zahl a ist, gilt:
Ich würde folgendes machen:
Schreib' dir eine Schleife, die jede Zahl von 1 bis 25 (inkl.) durchgeht und jeweils die Zahl zu dem char addiert.
Gib dir die Zahl und den (hoffentlich vernünftig) dekodierten Text aus.
Wenn etwas vernünftiges raus kommt, weißt du, welche Zahl gesucht war.
__________________
Ghost hardware.
|
|
|
26.11.12, 20:22
|
#3
|
Hinter dir!
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
|
Es handelt sich wirklich um die Caesar-Verschlüsselung.
Das gesucht a liegt allerdings nicht zwischen 0 und 26.
Knapp unter 0 ist hübsch.
|
|
|
26.11.12, 20:35
|
#4
|
OS X'ler
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
|
Also geht ihr wirklich nicht vom einfachen Alphabet aus?
Cool
Gibt es denn wenigstens einen Rahmen für a?
__________________
Ghost hardware.
|
|
|
26.11.12, 20:42
|
#5
|
Alleine
Registriert seit: Feb 2011
Beiträge: 301
Bedankt: 103
|
Das kleine a ist laut ASCII- Tabelle die Zahl 97 (dez. Wert).
|
|
|
26.11.12, 20:46
|
#6
|
OS X'ler
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
|
@Shaitan12
Falls du dich auf meinen Post beziehst:
Ich meinte mit dem Rahmen für a nicht den ASCII-Wert, sondern a als zu addierende Caesar-Konstante.
Die muss ja einen Rahmen haben. Oder sollte sie zumindest.
__________________
Ghost hardware.
|
|
|
26.11.12, 20:59
|
#7
|
Hinter dir!
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
|
@d03jo4n
Wen meinst du mit "ihr"? Also ich bin nicht in seiner Klasse oder so, habe die Aufgabe nur mal so für mich gelöst gehabt.
|
|
|
26.11.12, 21:15
|
#8
|
Alleine
Registriert seit: Feb 2011
Beiträge: 301
Bedankt: 103
|
Ich bin nicht in einer Klasse, ist Studium Informatik 1. Wenn du es gelöst hast, was kommt da denn für nen dummes Wort raus ?
|
|
|
26.11.12, 21:23
|
#9
|
OS X'ler
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
|
Zitat:
Zitat von Your_Conscience
@d03jo4n
Wen meinst du mit "ihr"? Also ich bin nicht in seiner Klasse oder so, habe die Aufgabe nur mal so für mich gelöst gehabt. 
|
Ich meinte damit eher du und eine Aufgabe ;D
Hast du denn jetzt was raus?
__________________
Ghost hardware.
|
|
|
26.11.12, 21:31
|
#10
|
OS X'ler
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
|
Habe es kurz geschrieben, ich habe die Lösung.
Kommst du schnell drauf.
__________________
Ghost hardware.
|
|
|
26.11.12, 21:34
|
#11
|
Alleine
Registriert seit: Feb 2011
Beiträge: 301
Bedankt: 103
|
Dann sag !
Ich komm da nicht drauf...ich habs net mal geschafft diese dumme Schleife zu basteln.
|
|
|
26.11.12, 21:36
|
#12
|
OS X'ler
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
|
Bitte
Mein Code:
Code:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
char *text = "Qdbdovr$";
char elems[30];
int i = 0;
// Simple and very unsafe string copy
for( i = 0; text[i] != 0; i++ )
elems[i] = text[i];
elems[i+1] = 0;
for( int a = -26; a < 26; a++ )
{
printf("a = %d:\n\t",a);
for( i = 0; elems[i] != 0 && i < 30; i++ )
{
printf("%c",elems[i]+a);
}
printf("\n");
}
return 0;
}
Und die dazugehörige Ausgabe:
Code:
a = -26:
7JHJU\X
a = -25:
8KIKV]Y
a = -24:
9LJLW^Z
a = -23:
:MKMX_[
a = -22:
;NLNY`\
a = -21:
<OMOZa]
a = -20:
=PNP[b^
a = -19:
>QOQ\c_
a = -18:
?RPR]d`
a = -17:
@SQS^ea
a = -16:
ATRT_fb
a = -15:
BUSU`gc
a = -14:
CVTVahd
a = -13:
DWUWbie
a = -12:
EXVXcjf
a = -11:
FYWYdkg
a = -10:
GZXZelh
a = -9:
H[Y[fmi
a = -8:
I\Z\gnj
a = -7:
J][]hok
a = -6:
K^\^ipl
a = -5:
L_]_jqm
a = -4:
M`^`krn
a = -3:
Na_also!
a = -2:
Ob`bmtp"
a = -1:
Pcacnuq#
a = 0:
Qdbdovr$
a = 1:
Recepws%
a = 2:
Sfdfqxt&
a = 3:
Tgegryu'
a = 4:
Uhfhszv(
a = 5:
Vigit{w)
a = 6:
Wjhju|x*
a = 7:
Xkikv}y+
a = 8:
Yljlw~z,
a = 9:
Zmkmx{-
a = 10:
[nlny\200|.
a = 11:
\omoz\201}/
a = 12:
]pnp{\202~0
a = 13:
^qoq|\2031
a = 14:
_rpr}\204\2002
a = 15:
`sqs~\205\2013
a = 16:
atrt\206\2024
a = 17:
busu\200\207\2035
a = 18:
cvtv\201\210\2046
a = 19:
dwuw\202\211\2057
a = 20:
exvx\203\212\2068
a = 21:
fywy\204\213\2079
a = 22:
gzxz\205\214\210:
a = 23:
h{y{\206\215\211;
a = 24:
i|z|\207\216\212<
a = 25:
j}{}\210\217\213=
__________________
Ghost hardware.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.
().
|