A1Z26
Cifrul A1Z26 este cel mai ușor cifru de substituție: fiecare literă este înlocuită cu numărul ei de ordine în alfabet. Astfel, A
devine 1
, B
devine 2
, ș.a.m.d.
Cerința
Se dă un număr p
:
1. Dacă p = 1
, se dă un șir de caractere s
format din litere mari. Să se afișeze numărul de ordine al caracterelor separate printr-un spațiu.
2. Dacă p = 2
, se dă un număr n
și n
numere cuprinse între 1
și 26
. Să se afișeze șirul corespunzător numerelor.
Date de intrare
Fișierul de intrare a1z26.in
conține pe prima linie numărul p
.
Dacă p = 1
, pe a doua linie din fișier se află șirul de caractere s
.
Dacă p = 2
, pe a doua linie din fișier se află numarul natural n
iar pe următoarea linie se află n
numere.
Date de ieșire
Dacă p = 1
, fișierul de ieșire a1z26.out
va conține pe prima linie numerele de ordine ale caracterelor din șirul s
, separate prin câte un spațiu.
Daca p = 2
, fișierul de ieșire a1z26.out
va conține pe prima linie șirul format din numerele de ordine date, afișate cu litere mari.
Restricții și precizări
1 ≤ p ≤ 2
1 ≤ lungimea șirului s ≤ 1.000.000
1 ≤ n ≤ 1.000.000
1 ≤ numerele de pe a doua linie ≤ 26
Exemplul 1:
a1z26.in
1 ANAAREMERE
a1z26.out
1 14 1 1 18 5 13 5 18 5
Exemplul 2:
a1z26.in
2 10 1 14 1 1 18 5 13 5 18 5
a1z26.out
ANAAREMERE
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema a1z26:
#include <fstream>
using namespace std;
ifstream f("a1z26.in");
ofstream g("a1z26.out");
char c;
int p, n, i, k;
int main()
{
f >> p;
if(p == 1)
{
while(f >> c)
g << c - 'A' + 1 << " ";
} else
{
f >> n;
for(i = 1; i <= n; i++)
{
f >> k;
g << char(k + 'A' - 1);
}
}
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #3140 a1z26
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #3140 a1z26 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!