Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Caesar-Chiffre

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.11.2010, 11:05 Uhr
Anjitsch



Guten Morgen,
ich soll ein Programm schreiben, der die Caesar-Chiffre anwendet und verzweifle an der Funktion fürs chiffrieren:



C++:
// Aufgabe_6_2.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;

void chiffriere(char*, int){
??????????????????????????????
}

void ausgabe (char *_text)
{
  int i = 0;
  while (_text[i] != '\0')
    {
      cout << _text[i++];
    }
  cout << endl;
}

int
main (void)
{
  char text_1[] = "abcdefghijklmnopqrstuvwxyz\0";
  char text_2[] =
    "qvvfxrbcmnwwmrnjwhtnhcjbcnwjsjrlqknbcnuuvranabcnrwvjunrwkrna\0";
  cout << "--------------Text 1---------------" << endl;
  ausgabe (text_1);
  for (int i = 1; i < 26; i++)
    {
      cout << "Verschiebung um " << i << " Buchstaben:" << endl;
      chiffriere (text_1, 1);
      ausgabe (text_1);
    }
  cout << "--------------Text 2---------------" << endl;
  ausgabe (text_2);
  for (int i = 1; i < 26; i++)
    {
      cout << "Verschiebung um " << i << " Buchstaben:" << endl;
      chiffriere (text_2, 1);
      ausgabe (text_2);
    }
    system("pause");
    return 0;
}




Der erste Parameter der chiffriere-Funktion soll dem zu verschlüsselnden Text entsprechen,
der zweite der Verschiebung.
Zudem soll eine Verschiebung von 0<= versatz < 26 ermöglicht werden.
Bitte um Hilfe (Denkansätze würden auch reichen)

MfG
Anjitsch
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.11.2010, 11:29 Uhr
Anjitsch



Hat sich erledigt habs hinbekommen:

C++:
void chiffriere(char* aendern, int versatz){
    for(int i=0; i<26; i++)
    {
        aendern[i]=aendern[i]+versatz;
        if (aendern[i]>'z')
        {
            aendern[i]='a'+(aendern[i]-'z');
            aendern[i]=aendern[i]-1;
            }
             }
}



Danke trotzdem.

MfG
Anjitsch
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.11.2010, 11:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja du musst den wert um den du die buchstaben verschieben willst, nur auf jeden buchstaben draufaddieren

'a' + 5 == 'f'
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: