myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Hilfe bei einer Aufgabe in C

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 26.11.12, 19:26   #1
Shaitan12
Alleine
 
Registriert seit: Feb 2011
Beiträge: 303
Bedankt: 103
Shaitan12 ist noch neu hier! | 0 Respekt Punkte
Standard 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 ;-)
Shaitan12 ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 19:39   #2
d03jo4n
OS X'ler
 
Benutzerbild von d03jo4n
 
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
d03jo4n ist noch neu hier! | 0 Respekt Punkte
Standard

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:
Code:
 a > 0 und a < 26
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.
d03jo4n ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 20:22   #3
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

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.
Your_Conscience ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 20:35   #4
d03jo4n
OS X'ler
 
Benutzerbild von d03jo4n
 
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
d03jo4n ist noch neu hier! | 0 Respekt Punkte
Standard

Also geht ihr wirklich nicht vom einfachen Alphabet aus?
Cool

Gibt es denn wenigstens einen Rahmen für a?
__________________
Ghost hardware.
d03jo4n ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 20:42   #5
Shaitan12
Alleine
 
Registriert seit: Feb 2011
Beiträge: 303
Bedankt: 103
Shaitan12 ist noch neu hier! | 0 Respekt Punkte
Standard

Das kleine a ist laut ASCII- Tabelle die Zahl 97 (dez. Wert).
Shaitan12 ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 20:46   #6
d03jo4n
OS X'ler
 
Benutzerbild von d03jo4n
 
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
d03jo4n ist noch neu hier! | 0 Respekt Punkte
Standard

@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.
d03jo4n ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 20:59   #7
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

@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.
Your_Conscience ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 21:15   #8
Shaitan12
Alleine
 
Registriert seit: Feb 2011
Beiträge: 303
Bedankt: 103
Shaitan12 ist noch neu hier! | 0 Respekt Punkte
Standard

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 ?
Shaitan12 ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 21:23   #9
d03jo4n
OS X'ler
 
Benutzerbild von d03jo4n
 
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
d03jo4n ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Your_Conscience Beitrag anzeigen
@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.
d03jo4n ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 21:31   #10
d03jo4n
OS X'ler
 
Benutzerbild von d03jo4n
 
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
d03jo4n ist noch neu hier! | 0 Respekt Punkte
Standard

Habe es kurz geschrieben, ich habe die Lösung.
Kommst du schnell drauf.
__________________
Ghost hardware.
d03jo4n ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 21:34   #11
Shaitan12
Alleine
 
Registriert seit: Feb 2011
Beiträge: 303
Bedankt: 103
Shaitan12 ist noch neu hier! | 0 Respekt Punkte
Standard

Dann sag !
Ich komm da nicht drauf...ich habs net mal geschafft diese dumme Schleife zu basteln.
Shaitan12 ist offline   Mit Zitat antworten
Ungelesen 26.11.12, 21:36   #12
d03jo4n
OS X'ler
 
Benutzerbild von d03jo4n
 
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
d03jo4n ist noch neu hier! | 0 Respekt Punkte
Standard

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.
d03jo4n ist offline   Mit Zitat antworten
Antwort


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

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 Uhr.


Sitemap

().