Cześć,
Właśnie przygotowuję się do matury z informatyki i mam problem z zadaniem z ostatniej matury. Oto treść:
W załączniku link do danych potrzebnych do zadania.
Mój kod wygląda tak:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
string szyfr( string txt, int klucz )
{
int liczba = txt.length();
klucz = klucz % 26;
for( int i = 0; i < liczba; i++ )
{
if( klucz + txt[ i ] > 90 )
txt[ i ] =( txt[ i ] + klucz - 90 ) + 64;
else if( klucz + txt[ i ] < 65 )
txt[ i ] = 91 -( 65 -( klucz + txt[ i ] ) );
else
txt[ i ] = txt[ i ] + klucz;
}
return txt;
}
int main()
{
ifstream inFile;
inFile.open("dane_6_3.txt");
ofstream outFile, outFile1;
outFile.open("wyniki_6_3.txt");
string tekst;
string tekstSz;
int j=1;
while(inFile.good())
{
inFile>>tekst>>tekstSz;
for (int i=1;i<=26;i++){
if(tekstSz==szyfr(tekst,i)){
cout<<j++<<" "<<tekst<<" "<<i<<endl;
outFile<<" "<<tekst<<endl;
}
}
}
return 0;
}
Problem polega na tym, że program zwraca mi nazwiska, które zostały zakodowane prawidłowo. Niestety nie mam pomysłu, jak spowodować, by wyświetlały się nazwiska niepoprawnie zakodowane (8 nazwisk, które mój program pomija).
Będę bardzo wdzięczna za pomoc.
Dzięki :-)