Einfache Zeichenweise verschlüsselung in Code Blocks ?
-
Zu b:
Lernt man im Studium nicht mehr, was modulo ist?Zu deinem Programm: Was ist 122? Falls das 'z' sein sollte (bin zu faul nachzuschauen), dann schreib doch auch 'z'. Dann versteht es wenigstens jeder und du hast dich nicht an eine bestimmte Zeichencodierung gebunden.
-
Also,
Erstens ich weiß das 122 'z' ist hätte ich auch schreiben können hastrecht, doch man kann das auch im neteten ton schreiben , und nicht bin zu faul es nachzulesen odr so bitte, wenn es dich stören sollte das hier um hilfe und tipps frage weil ich nicht so viel ahnung habe wie du dann musst du nicht antworten es hat dich keiner gezwungen
Doch du hast ja auch bischen mit dem modulo geholfen und für des bedanke ich mich aber zum lernt man das im studium nicht , muss ich sagen das ich es vllt nicht weiß oder das ich nicht auf den gedanken gekommem bin es so zu versuchen , trotzdessen nur modulo alleine hat mir jz auch nicht viel gebracht . Wenn du oben schauen würdest wie andere mir helfen oder mir versuchen zu helfen dann würdest du sicher mich auch verstehen.
-
Ich mag's aber lieber, wenn die Leute versuchen, selber zu denken. Vielleicht gewöhnen sie es sich dann an.
Ok, noch ein Tipp: Das mit dem modulo war ein guter Tipp :p . Von da aus ist es nur ein minimaler Gedankensprung zu einer Lösung.
-
hallo,
ich probier die ganze zeit des mit dem modulo aus doch ich bekomm es nicht kannst du mir nicht noch einbischen weiterhelfen bitte
MFG
-
hallo,
ich probier die ganze zeit des mit dem modulo aus doch ich bekomm es nicht kannst du mir nicht noch einbischen weiterhelfen bitte
MFG
-
char encrypted = ((original - 'a' + 1) % 25) + 'a';
-
Hallo,
dein code funtionert nicht ganz er verschlüsselt y zu a und z zu z hmm da stimmt es nicht. könnte man des z nicht extra verschlüsseln ?
-
Du müsstest schon prüfen, ob das Zeichen 'z' ist:
char encrypted = original=='z'?'a':((s[i]-'a')%('z'-'a')+'a'+1);
Aber das kann man natürlich auch viel einfacher schreiben (überlasse ich dir).
-
iso89 schrieb:
Hallo,
dein code funtionert nicht ganz er verschlüsselt y zu a und z zu z hmm da stimmt es nicht. könnte man des z nicht extra verschlüsseln ?
Kleine Fehler dienen dazu zu testen, ob der Leser auch aufmerksam ist. Du bist durchgefallen
. Das Alphabet hat natürlich 26 Buchstaben:
char encrypted = ((original - 'a' + 1) % 26) + 'a';
So, nun sind deine Hausaufgaben für dich gemacht. Du hast nichts gelernt, nichts kapiert, und stehst bei der nächsten Aufgabe wieder hier auf der Matte. Zufrieden?
-
Hallo,
Ganz ehrlich dann bin ich durchgefallen ob wohl ich es oftmals versucht hab. Aber trotzdem danke.
@ Seppy
Aber nochwas wenn ich solche antworten bekomm wie du hast nichts gelernt und etc. Dann habe ich echt angst hier was zu fragen
Weil immer der gedanke kommt hey ich kanns nicht und wenn man die was fragt bekommt man eine auf die klatsche. Schade eigentlich, weil könnte ich c++ dan würde ich hier auch nicht fragen. Und du musst echt nicht hier mit so einem test oder wie du des nennen willst mich zur sau machen.
-
#include <iostream> #include <algorithm> #include <cctype> #include <string> std::string Verschluesseln(std::string input); char PrinzipA(char c); char PrinzipB(char c); int main() { std::string input; std::getline(std::cin, input); std::cout << Verschluesseln(input) << std::endl; return 0; } std::string Verschluesseln(std::string input) { std::transform(input.begin(), input.end(), input.begin(), std::tolower); for (std::size_t i = 0; i < input.length(); ++i) { if (!std::isalpha(input[i])) { continue; } input[i] = i % 2 ? PrinzipA(input[i]) : PrinzipB(input[i]); } return input; } char PrinzipA(char c) // Umgekehrt { return ('z' - c) + 'a'; } char PrinzipB(char c) // Nachfolger { return c >= 'z' ? 'a' : c + 1; }
-
#include <iostream>
using namespace std;
int main()
{
char instring[100] ;
int pos;cout << "Bitte Text eingeben (maximal 100 Zeichen) : " ;
cin.get(instring, 100);pos = 0;
while ( instring[pos] != '\0' )
{
instring[pos] = tolower(instring[pos]);
if ( pos % 2 == 0 ){
if ( 'a' <= instring[pos] && instring[pos] <= 'z' ){ instring[pos] = ((instring[pos] - 'a' +1) % 26) + 'a';
}
}if ( pos % 2== 1 )
{
if ( 'a' <= instring[pos] && instring[pos] <= 'z' ){ instring[pos] = 'z' - ( instring[pos] - 'a');
}
}pos = pos+1;
}
cout << "Verschluesselt : " << instring << endl <<endl;
return 0;
}So aber eins kann ich dir auch sagen ich hab was gelernt und zwar wie ich modulo einsetzte und so hab ich die c gelöst
Danke für deine Hilfe
MFG
-
iso89 schrieb:
#include <iostream> using namespace std; int main() { char instring[100] ; // std::string ist in C++ einfacher (s. vorherige Post) int pos; cout << "Bitte Text eingeben (maximal 100 Zeichen) : " ; cin.get(instring, 100); pos = 0; // du kannst die Variable auch direkt initialisieren int pos = 0; while ( instring[pos] != '\0' ) { instring[pos] = tolower(instring[pos]); if ( pos % 2 == 0 ) { if ( 'a' <= instring[pos] && instring[pos] <= 'z' ) { instring[pos] = ((instring[pos] - 'a' +1) % 26) + 'a'; } } if ( pos % 2== 1 ) { if ( 'a' <= instring[pos] && instring[pos] <= 'z' ) { instring[pos] = 'z' - ( instring[pos] - 'a'); } } pos = pos+1; // lässt sich zu pos++; vereinfachen. } cout << "Verschluesselt : " << instring << endl <<endl; return 0; }
So aber eins kann ich dir auch sagen ich hab was gelernt und zwar wie ich modulo einsetzte und so hab ich die c gelöst
Danke für deine Hilfe
MFG
Bitte Code-Tags benutzen. Habe deinen Code kommentiert.
Außerdem: Einrückung! Die ist so katastrophal (könnte aber auch an den fehlenden Code-Tags liegen).
-
Ja es liegt daran...
-
Die Einrückung ist auch saumäßig, wenn man sich das in Reinform ansieht
Ansonsten: Anstelle der while()-Schleife hätte ich lieber eine for()-Schleife verwendet. Und die Auswahl der Verschlüsselungsmethode wäre ein idealer Kandidat für ein else.
-
Also,
Des programm war schon so halber vorgeschreiben ich musste nur die verschlüsselung programmieren.
-
iso89 schrieb:
Aber nochwas wenn ich solche antworten bekomm wie du hast nichts gelernt und etc. Dann habe ich echt angst hier was zu fragen
Weil immer der gedanke kommt hey ich kanns nicht und wenn man die was fragt bekommt man eine auf die klatsche. Schade eigentlich, weil könnte ich c++ dan würde ich hier auch nicht fragen. Und du musst echt nicht hier mit so einem test oder wie du des nennen willst mich zur sau machen.
Soll ich dir erzählen, es wäre alles in Ordnung, obwohl es das nicht ist? Wir haben voneinander keine Ahnung wer wir sind. Soll ich dir schmeicheln, um deine Gefühle nicht zu verletzen? Dein Lehrer wird das genauso sehen wie ich, und bei dem zählt es dann. Sei froh, dass wir zueinander ehrlich sein können und sieh das als ernste Warnung. Du musst einfach mehr tun. Mit so vielen Tipps eine so einfache Aufgabe nicht lösen zu können darf im zweiten Semester eines Studiums nicht sein. Jetzt magst du vielleicht noch einmal damit durchkommen, aber langfristig wird das nichts, wenn du nichts änderst. Da ist es doch besser, früher zu erfahren, was Sache ist.
-
Du hast recht. Ich will auch mehr tun doch mit dem skript vom lehrer kann man nichts lernen
, ich versuch doch alles zu lernen kannst du mir vllt eine seite oder ein buch empfehlen, wenn wir schon zu einandet ehrlich sind.
Mfg
-