Ennek a programnak mi lehet a baja?
A lényeg hogy a program bekér egy nyílt szöveget. Bekér egy kulcs szöveget ami max 5 karakteres lehet. Ha megvan kulcs akkor csinálni kell egy olyan változót ami ugyanolyan hosszú mint a nyílt és a kulcs változó annyiszor kell sokszorosítani.
for(i=0;i<nyilt.length();i++) //Ebben van a hiba miután inkrementál nem ad hozzá új elemetú
{
n=(i%kulcs.length());
ksz[i]=kulcs[n];
}
cout << "\n" << nyilt << "\n" << kulcs ;
cout << "\nAz uj szoveg: \n" << ksz;
Egyszerűen nem rakja be az újonnan dekralált stringbe amit bele kell rakni. Pedig az elvnek működnie kellene.
ITT az egész program:
#include <iostream>
#include <fstream>
#include <string.h>
#include <windows.h>
using namespace std;
int main ()
{
char t[27][27];
int i,j;
ifstream be;
be.open("Vtabla.dat");
for (i=0;i<26;i++)
{
for(j=0;j<=26;j++)
{
t[i][j]=be.get();
}
}
be.close();
cout << "\nA nyilt szoveg bekerese fog megtortenni";
cout << "\nAdd meg a nyilt szoveget: ";
string nyilt;
getline(cin,nyilt);
system("CLS");
for(i=0;i<=nyilt.length();i++)
{
nyilt[i]=toupper(nyilt[i]);
}
cout << "A nyilt szoveg: " << nyilt;
cout << "\nA kulcsszoveg bekerese fog megtortenni";
string kulcs;
while (kulcs.length()<1 || kulcs.length()>5)
{
cout << "\nAdj meg egy kulcsot:";
cin >> kulcs;
system("CLS");
}
string ksz;
int n;
int N=nyilt.length();
for(i=0;i<nyilt.length();i++) //Ebben van a hiba miután inkrementál nem ad hozzá új elemetú
{
n=(i%kulcs.length());
ksz[i]=kulcs[n];
cout << n;
}
cout << "\n" << nyilt << "\n" << kulcs ;
cout << "\nAz uj szoveg: \n" << ksz;
}
ksz += kulcs[n]; :)
A titkosítás, rejtjelzés nem így működik - egy nyugdíjas rejtjelző -
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!