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

Cerința
Se citesc numere din fișier pâna când nu mai există numere de citit. Să se afișeze cel mai mare dintre ele.

Date de intrare
Fișierul de intrare parsare.in conține pe prima linie numerele, delimitate prin cel puțin un spațiu.

Date de ieșire
Fișierul de ieșire parsare.out va conține pe prima linie numărul M, reprezentând elementul maxim.

Restricții și precizări
se vor citi maxim 10.000.000 numere.
numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât 100.000 și mai mari decât -100.000.

Exemplu
parsare.in

3 2 5 -1 5
parsare.out

5
Explicație
În fișierul de intrare sunt 5 numere, iar elementul maxim este 5.

Imi da 60 incontinuu, am citit si sub forma de string, si sub forma de numere si acelasi lucru.
2081 pe pbinfo

Răspunsuri la întrebare

Răspuns de InsertPorecla
1

Problema se numeste parsare. In sine, problema nu este grea, dar trebuie sa te folosesti de tehnica de parsare. Adica sa citesti cate un caracter cu caracter, sau cate 1000 de caractere de exemplu apoi dai tu cu for prin ele si iti extragi numerele, astfel nu vei mai avea time limit exceeded. Daca folosesti ifstream pentru citire, poti folosi aceasta metoda: tinyurl.com/parsare. Cum folosesti: in loc sa scrii ifstream fin("problema.in"); scrii InputReader("problema.in"); si poti sa il folosesti ca un ifstream normal (adica sa citesti numere cu >>). Nu merge pentru numere negative in schimb, incearca sa vezi ce poti sa modific astfel incat sa mearga si pe numere negative. Bafta!

Alte întrebări interesante