Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | paritate.in, paritate.out | Sursă | OJI 2007, clasa a 9-a |
Autor | Marinel Serban | Adăugată de | |
Timp execuţie pe test | 0.025 sec | Limită de memorie | 5120 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Paritate
In vederea asigurarii unei transmiteri cat mai exacte a informatiilor pe retea, transmiterea se efectueaza caracter cu caracter, fiecare caracter fiind dat prin codul sau ASCII, adica o grupa de 8 biti (octet). Pentru fiecare 8 biti transmisi se calculeaza un bit de paritate care are valoarea 0 (daca codul ASCII al caracterului contine un numar par de cifre binare 1) sau 1 (In caz contrar). Deoarece In problema noastra se transmit numai caractere ASCII standard, cu codul ASCII din intervalul [32,127], codul lor ASCII are bitul 7 (primul bit din stanga) egal cu 0. Pe aceasta pozitie va fi pus bitul de paritate, economisind astfel cate un bit pentru fiecare caracter transmis. De exemplu, daca mesajul care trebuie trasmis contine caracterele "Paritate", succesiunea de biti transmisa va fi:
<b> 0</b>1010000 <b>1</b>1100001 <b>0</b>1110010 <b>0</b>1101001 <b>0</b>1110100 <b>1</b>1100001 <b>0</b>1110100 <b>0</b>1100101
In plus, pe langa caracterele amintite, In mesaj mai poate sa apara un caracterul special, caracter care indica trecerea la Inceputul unui nou rand. Acest caracter are codul ASCII 10.
Cerinta
Sa se scrie un program care sa verifice daca un text a fost sau nu transmis corect.
Date de intrare
...
Date de iesire
...
Restrictii
- ... ≤ ... ≤ ...
Exemplu
paritate.in | paritate.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicatie
...