Informatică, întrebare adresată de togoeradu, 8 ani în urmă

Am nevoie de problema atbash de pe pbinfo. Atbash
Cifrul atbash este un cifru de substituție care constă în inversarea alfabetului: prima literă din alfabet se interschimbă cu ultima, a doua cu penultima, etc.

Cerința
Se dă un șir s care conține doar litere mari. Să se aplice cifrul atbash pe el.

Date de intrare
Fișierul de intrare atbash.in conține pe prima linie șirul s.

Date de ieșire
Fișierul de ieșire atbash.out va conține pe prima linie șirul după aplicarea cifrului atbash.

Restricții și precizări
1 ≤ lungimea șirului ≤ 1.000.000

Exemplu
atbash.in

ANAAREMERE
atbash.out

ZMZZIVNVIV
Algoritmul meu este urmatorul, acesta dandu-mi doar 70 de puncte:
#include
#include
using namespace std;
char s[256];
ifstream in("atbash.in");
ofstream out("atbash.out");
int main()
{
int a,i,b;
in >> s;
for(i=0;i {


s[i]=90-s[i]+65;
}out << s;
}
De asemenea, cum as putea declara un sir cu 1000000 de caractere fara probleme?


boiustef: nu sunt probleme la declarare...
char s[1000002];
togoeradu: ba.. sunt, daca declari asa, pb info iti da caught fatal signal cand verifica problema
boiustef: sunt 100 ...

Răspunsuri la întrebare

Răspuns de boiustef
4

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("atbash.in");

ofstream g("atbash.out");

char a, b;

int main()

{

   while (f >> a)

   {

        b=155-a;

        g << b;

   }

}

Explicație:

Alte întrebări interesante