Forum komputerowe - www.ForumKomputerowe.pl: Szyfr cezara - Forum komputerowe - www.ForumKomputerowe.pl

Skocz do zawartości

Strona 1 z 1
  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć

Szyfr cezara Oceń temat: -----

#1 Użytkownik nie jest zalogowany   smolkens 

  • Nowy użytkownik
  • Pip
  • Grupa Użytkownicy
  • Postów 22
  • Rejestracja Tue, 30 Aug 11

Napisano 01 February 2012 - 19:55

Witam! Po pierwsze musze przyznać jestem laikiem w C++ i znam tylko podstawy. Jestem w technikum i mam za zadanie napisanie programu "Szyfr Cezara".
Coś próbowałem skleić i udało mi się że jedną literę szyfruje, problem w tym że mam napisać taki który szyfruje całe słowo i gdy skończy się alfabet to robi jeszcze raz pętle i bierze nowe literki. Bardzo proszę was o pomoc, a niżej program który napisałem:
#include <iostream>
using namespace std;
char ch;
int i = 65;
int w,szyfr;
int main()
{

cout << "Jaka litere mam zaszyfrowac?\n";
cin >> ch;
cout << "O ile liter mam przesunac?\n";
cin >> w;
szyfr = int(ch) + w;
cout << char(szyfr) << endl;
system("pause");
return 0;
}

0

#2 Użytkownik nie jest zalogowany   MarcoMarc 

  • Bike Masakrator
  • Grupa Moderatorzy
  • Postów 721
  • Rejestracja Wed, 23 Sep 09
  • CPU:I5 750
  • Grafika:HD 5850
  • Płyta Główna:Asus LX P7P55
  • Zasilacz:CHIEFTEC 600W
  • Ilość RAM:12 GB

Napisano 02 February 2012 - 17:47

Nie wiem czy dobrze to napisałem lepiej sprawdź :] na pewno jeśli są błędy to nie wiele.

 #include <iostream>


using namespace std;
string slowo;
int w,i;
int main()
{
cout << "Jaka litere mam zaszyfrowac?\n";
cin >> slowo;
int n=sizeof(slowo);
cout << "O ile przesunac wedlug ASCII\n";
cin >> w;
for(i=0;i<=n+1;i++){
int x=w+int(slowo[i]);
int y=x-122;
if (x>122) (slowo[i])=65+y;
else slowo[i]=w+int(slowo[i]); 
}
for (i=0;i<=n+1;i++){
cout<<slowo[i];
}
cout<<endl;
system("pause");
return 0;
} 

C/C++/JAVA/VB/
ASP. NET/VS
PL/SQL - ORACLE
SAP ERP
1

#3 Użytkownik nie jest zalogowany   smolkens 

  • Nowy użytkownik
  • Pip
  • Grupa Użytkownicy
  • Postów 22
  • Rejestracja Tue, 30 Aug 11

Napisano 02 February 2012 - 21:03

Dzięki jestem Ci winny piwo :). Wiesz może jak to jeszcze zmienić żeby zapętlało alfabet, bo np. gdy chcę zaszyfrować litere `z` to program pokazuje jakieś znaki...
0

#4 Użytkownik nie jest zalogowany   MarcoMarc 

  • Bike Masakrator
  • Grupa Moderatorzy
  • Postów 721
  • Rejestracja Wed, 23 Sep 09
  • CPU:I5 750
  • Grafika:HD 5850
  • Płyta Główna:Asus LX P7P55
  • Zasilacz:CHIEFTEC 600W
  • Ilość RAM:12 GB

Napisano 02 February 2012 - 22:00

Był błąd w kodzie:)

#include <iostream>


using namespace std;
string slowo;
int w,i;
int main()
{
cout << "Jaka litere mam zaszyfrowac?\n";
cin >> slowo;
int n=slowo.length();
cout << "O ile przesunac wedlug ASCII\n";
cin >> w;
for(i=0;i<n;i++){
int x=w+int(slowo[i]);
int y=x-122;
if (x>122) (slowo[i])=65+y; // jesli wychodzi poza alfabet 
else slowo[i]=w+int(slowo[i]); 
}
for (i=0;i<n;i++){
cout<<slowo[i];
}
cout<<endl;
system("pause");
return 0;
}

C/C++/JAVA/VB/
ASP. NET/VS
PL/SQL - ORACLE
SAP ERP
0

#5 Użytkownik nie jest zalogowany   smolkens 

  • Nowy użytkownik
  • Pip
  • Grupa Użytkownicy
  • Postów 22
  • Rejestracja Tue, 30 Aug 11

Napisano 03 February 2012 - 20:38

Niestety dalej nie zapętla alfabetu i w dodatku sypie się gdy chcę zaszyfrować całe słowo :(.

Użytkownik smolkens edytował ten post 03 February 2012 - 20:38

0

#6 Użytkownik nie jest zalogowany   MarcoMarc 

  • Bike Masakrator
  • Grupa Moderatorzy
  • Postów 721
  • Rejestracja Wed, 23 Sep 09
  • CPU:I5 750
  • Grafika:HD 5850
  • Płyta Główna:Asus LX P7P55
  • Zasilacz:CHIEFTEC 600W
  • Ilość RAM:12 GB

Napisano 03 February 2012 - 23:18

Wyświetl postUżytkownik smolkens dnia 03 February 2012 - 20:38 napisał

Niestety dalej nie zapętla alfabetu i w dodatku sypie się gdy chcę zaszyfrować całe słowo :(.


U mnie śmiga bez problemów.
Tylko jest tak napisany, że nie może być spacji w słowie.
C/C++/JAVA/VB/
ASP. NET/VS
PL/SQL - ORACLE
SAP ERP
1

#7 Użytkownik nie jest zalogowany   smolkens 

  • Nowy użytkownik
  • Pip
  • Grupa Użytkownicy
  • Postów 22
  • Rejestracja Tue, 30 Aug 11

Napisano 04 February 2012 - 14:11

Ok ok wszystko już działa. Dzięki jeszcze raz ;)
0

Opcje tematu:


Strona 1 z 1
  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć

Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych