Szyfr Cezara – Omówienie zadania – Napisy, teksty w programowaniu

Szczegółowe omówienie zadania Szyfr Cezara:

Link do powyższego omówienia zadania Szyfr Cezara: https://youtu.be/JCEifYJT1VY?t=3092
Skrót omówienia rozwiązania: https://youtu.be/JCEifYJT1VY?t=5939

Link do treści zadania Szyfr Cezara: raz możliwości umieszczania rozwiązań: https://szkopul.edu.pl/problemset/problem/ofFU7YAu7htxhCsiylO-qNQ9/site

Zadanie Szyfr Cezara pokazuje użycie napisów/tekstów w programowaniu: https://youtu.be/JCEifYJT1VY?t=386


Kto wygrał Bitwę Warszawską: https://youtu.be/JCEifYJT1VY?t=14
Co oznacza hasło Każdego dnia mocniejsi? https://youtu.be/JCEifYJT1VY?t=7704


Jak się uczyć na podstawie tego zadania?
https://youtu.be/QgLyXYmFQeU?t=2019
Pamiętaj by zajrzeć max 1 raz – wtedy się rozwijasz:
https://youtu.be/pkLXuuOe_qA?t=3625

Lista zadań z rozwiązaniami: https://oki.org.pl/lista-zadan-materialy.php
Samouczek – przygotowanie do Olimpiad: https://oki.org.pl/tutorial/
Zajęcia – nauka programowania: https://oki.org.pl/harmonogram-zajec/

Spróbuj Olimpiady!
https://youtu.be/fk2wGqeiVBY?t=219


Kod C++ programu Szyfr Cezara, który jest omówiony w powyższym filmie i który otrzymuje 100%


#include <iostream>
using namespace std;
 
int main() {
 int typ_dzialania, klucz, i, liczba_znakow;
 string wiadomosc; 
 char znak;
 
 cin >> typ_dzialania; //1 szyfruj (dodawaj klucz)    2 deszyfruj (odejmuj klucz)
 cin >> klucz;
 cin >> wiadomosc;
 
 liczba_znakow = 'Z' - 'A' + 1;
 for (i=0; i<wiadomosc.length(); ++i) {
 	znak = wiadomosc[i];
 	if ( (znak >= 'A') && (znak <= 'Z') ) {
 	   if (typ_dzialania==1) {	   
          if ((int)znak+klucz <= (int)'Z')
             znak = znak + klucz;
          else 
             znak = znak + klucz - liczba_znakow;
 	   } else {
          if ((int)znak-klucz >= (int)'A')
             znak = znak - klucz;
          else 
             znak = znak - klucz + liczba_znakow;
	   } 	   	
 	}
    if ( (znak>='a') && (znak<='z') ) {
       if (typ_dzialania==1) {
          if ((int)znak+klucz <= (int)'z')
             znak = znak + klucz;
          else 
             znak = znak + klucz - liczba_znakow;
	   } else {
          if ((int)znak-klucz >= (int)'a')
             znak = znak - klucz;
          else 
             znak = znak - klucz + liczba_znakow;
	   }
	}
    wiadomosc[i] = znak;
 }

 cout << wiadomosc << "\n";

 return 0;
}
Kod C++ programu Szyfr Cezara, który jest omówiony w powyższym filmie i który otrzymuje 100%

 

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz