Diferență între revizuiri ale paginii „PC Tema 1”
(→Notare) |
|||
Linia 54: | Linia 54: | ||
<li>Formatul textului de la ieșire trebuie să fie identic cu cel de mai sus pentru a evita depunctarea de către programul de evaluare.</li> | <li>Formatul textului de la ieșire trebuie să fie identic cu cel de mai sus pentru a evita depunctarea de către programul de evaluare.</li> | ||
<li>[ftp://hermes.arh.pub.ro/public/course/pc/tema1 Acesta] este un executabil pentru Linux pe 32 de biți care implementează tema. Îl puteți folosi pentru testare.</li> | <li>[ftp://hermes.arh.pub.ro/public/course/pc/tema1 Acesta] este un executabil pentru Linux pe 32 de biți care implementează tema. Îl puteți folosi pentru testare.</li> | ||
+ | <li> '''Atenție:''' Nu afișați în consolă nimic altceva decât se cere explicit în problemă. Mai concret, nu printați nimic înainte de citirea textului de la tastatură (ex: Introduceți textul: ). | ||
</ol> | </ol> | ||
Versiunea de la data 14 noiembrie 2015 17:42
În telecomunicații, diferite caractere trimise în cadrul unui SMS au un statut special și de aceea trebuie numărate pentru a calcula corect dimensiunea în octeți a mesajului, și deci costul serviciului de transmisie. Pentru această temă, se cere numărarea și afișarea diferitelor tipuri de caractere dintr-un mesaj citit de la tastatură.
Cerință
Dându-se un șir de caractere, citit caracter cu caracter, de la tastatură, până la întâlnirea caracterului newline ('\n'), să se numere și să se afișeze câte caractere s-au introdus din ficare categorie:
- litere mici (a-z)
- litere mari (A-Z)
- cifre (0-9)
- caractere neprintabile (spații sau caractere tab - '\t')
- caractere speciale (orice alt caracter printabil de pe tastatură care nu este literă, cifră sau spațiu).
Date de intrare
O singura linie de text, terminată cu Enter
.
Exemplu
Andrei s-a dus la piata si a cumparat 3 kilograme de cartofi si 5 de castraveti!
Date de ieșire
Cinci linii de text, de formatul următor:
Litere mici: %d Litere mari: %d Cifre: %d Caractere neprintabile: %d Caractere speciale: %d
Exemplu (pentru intrarea de mai sus)
Litere mici: 60 Litere mari: 1 Cifre: 2 Caractere neprintabile: 15 Caractere speciale: 2
Observații
- Un caracter se poate citi de la tastatură cu funcția
getchar()
. Această funcție este definită în fișierul headerstdio.h
. Exemplu:#include<stdio.h> int main(){ printf("Introduceti un caracter: "); char c = getchar(); printf("Caracterul introdus a fost: %c\n", c); return 0; }
- Tasta
Enter
produce un caracter numit newline care are codul ASCII 10 (sau '\n'). - Formatul textului de la ieșire trebuie să fie identic cu cel de mai sus pentru a evita depunctarea de către programul de evaluare.
- Acesta este un executabil pentru Linux pe 32 de biți care implementează tema. Îl puteți folosi pentru testare.
- Atenție: Nu afișați în consolă nimic altceva decât se cere explicit în problemă. Mai concret, nu printați nimic înainte de citirea textului de la tastatură (ex: Introduceți textul: ).
Restricții
Nu se pot utiliza vectori/ șiruri de caractere.
Livrabile și modalitate de predare
Predarea se face pe platforma Web-Cat și constă în upload-ul unui singur fișier sursă C care să implementeze funcționalitatea cerută.
Notare
Pentru această temă se pot acorda 10 puncte:
- 7 puncte pentru comportamentul aplicației, care se acordă automat, imediat după predare, în funcție de calitatea temei de către platforma de testare;
- 3 puncte pentru stilul de scriere a programului, alinierea codului, nume lizibile de variabile, etc., care se acordă ulterior de către un cadru didactic.
Atenție: Pentru această temă se pot SCĂDEA 11 puncte, dacă aceasta se dovedește că este copiată.
Termen limită
Termenul limită pentru depunerea temei este 21 noiembrie, ora 23:55. Apoi, pentru fiecare zi întârziere, veți fi penalizați cu un punct.