Diferență între revizuiri ale paginii „PC Tema 4”
(Pagină nouă: Unii din cei mai simpli algoritmi din informatică sunt cei care găsesc minimul sau maximul dintr-un șir de numere. = Cerință = Dându-se un număr <code>n</code> întreg, f...) |
|||
(Nu s-au afișat 2 versiuni intermediare efectuate de același utilizator) | |||
Linia 46: | Linia 46: | ||
# Citirea datelor se va face într-o funcție separată. | # Citirea datelor se va face într-o funcție separată. | ||
# Căutarea studentului cu nota maximă se va face într-o funcție separată. | # Căutarea studentului cu nota maximă se va face într-o funcție separată. | ||
+ | # Nu se va folosi funcția <code>gets</code> - aceasta este ''deprecated''. | ||
= Observații = | = Observații = | ||
Linia 51: | Linia 52: | ||
# Pentru date, necunoscând valoarea maximă a lui <code>n</code>, singura soluție pentru stocarea acestor date este alocarea dinamică de memorie după citirea lui <code>n</code>. | # Pentru date, necunoscând valoarea maximă a lui <code>n</code>, singura soluție pentru stocarea acestor date este alocarea dinamică de memorie după citirea lui <code>n</code>. | ||
# Utilizarea structurilor vă poate ușura foarte mult munca. | # Utilizarea structurilor vă poate ușura foarte mult munca. | ||
+ | # Atenție la utilizarea funcției <code>fgets</code>: | ||
+ | #* aceasta va pune pe ultima poziție din string și caracterul ''newline'' (\n), care trebuie suprascris cu 0 de către voi; | ||
+ | #* dacă înainte de apelul lui <code>fgets</code> s-a apelat un <code>scanf</code>, atunci în buffer-ul streamului standard de intrare a rămas un caracter newline pe care îl puteți elimina apelând funcția <code>getchar</code>. | ||
= Livrabile și modalitate de predare = | = Livrabile și modalitate de predare = | ||
Linia 66: | Linia 70: | ||
= Termen limită = | = Termen limită = | ||
− | Termenul limită pentru depunerea temei este | + | Termenul limită strict pentru depunerea temei este 20 ianuarie, ora 23:55. |
Versiunea curentă din 5 ianuarie 2016 22:20
Unii din cei mai simpli algoritmi din informatică sunt cei care găsesc minimul sau maximul dintr-un șir de numere.
Cerință
Dându-se un număr n
întreg, fără semn, oricât de mare, și o secvență de n
perechi de nume și notă, reprezentând mediile studențiilor de la Politehnică, să se scrie o funcție care să întoarcă nota și numele studentului cu nota cea mai mare. Dacă sunt mai mulți studenți cu aceeași notă maximă, se va afișa primul din listă.
Date de intrare
Numărul n
, valoare întreagă fără semn, urmat de n
perechi de nume și notă. Nota este un număr fracționar, în intervalul [0:10]. Numele unui student are maxim 31 de caractere.
Exemplu
10 Andrei Vasile 9.87 Ghita Gheorghe 7.84 Ion Ion 4.99 Vasile Ion 7.31 Vasile Vasile 8.43 Margareta Maria 8.56 Nitu Mitu 9.93 Oana Ioana 7.32 Ana Oana 9.93 Mia Maria 6.32
Date de ieșire
O pereche "nume - medie", pe aceeași linie, separate prin cratimă și spații, media fiind scrisă cu două zecimale:
Exemplu (pentru intrarea de mai sus)
Nitu Mitu - 9.93
Restricții
- Nu se vor folosi variabile globale.
- Citirea datelor se va face într-o funcție separată.
- Căutarea studentului cu nota maximă se va face într-o funcție separată.
- Nu se va folosi funcția
gets
- aceasta este deprecated.
Observații
- Pentru date, necunoscând valoarea maximă a lui
n
, singura soluție pentru stocarea acestor date este alocarea dinamică de memorie după citirea luin
. - Utilizarea structurilor vă poate ușura foarte mult munca.
- Atenție la utilizarea funcției
fgets
:- aceasta va pune pe ultima poziție din string și caracterul newline (\n), care trebuie suprascris cu 0 de către voi;
- dacă înainte de apelul lui
fgets
s-a apelat unscanf
, atunci în buffer-ul streamului standard de intrare a rămas un caracter newline pe care îl puteți elimina apelând funcțiagetchar
.
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 de către platforma de testare, imediat după predare, în funcție de calitatea temei;
- 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ă strict pentru depunerea temei este 20 ianuarie, ora 23:55.