Cześć,
Dlaczego przy zapisie do pliku (ostatni warunek), taka forma daje oczekiwany wynik (same duże litery łacińskiego alfabetu), a ...
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string napis1, napis2;
int i, j;
int main()
{
ifstream slowa;
slowa.open("tj.txt");
ifstream klucze;
klucze.open("klucze1.txt");
ofstream output;
output.open("wynik4a.txt");
while (slowa >> napis1 && klucze >> napis2)
{
for (i=0, j=0; i<napis1.size(); i++, j++)
{
if (j==napis2.size())
j=0;
char pomoc = napis1[i]+napis2[j]-64;
if (pomoc>90)
pomoc=pomoc-26;
output << pomoc;
}
output << endl;
}
slowa.close();
klucze.close();
output.close();
return 0;
... a z lekko zmienionym ostatnim warunkiem:
if (pomoc>90)
output <<pomoc-26;
else output << pomoc;
daje w wyniku oprócz liter również cyfry i inne znaki? Czy ma to związek z tym, że output << pomoc-26 zapisuje i wartość ASCII **char **pomoc i wartość **int **26?