Bun venit pe SkullBox!

Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
  Pagini: [1]
  Imprimă  
[avansat][Concurs nr. 3] Operatii  (Vizualizari 1695)
DarkByte
*

Conectat Conectat

Mesaje: 2428

WWW
[avansat][Concurs nr. 3] Operatii, Iun 25, 2007, 21:38

Ok, pentru "avansati" ... sa zicem ca vreau un program care sa contina operatiile de baza ale matematicii (adunare, scadere, inmultire, impartire) cu numere de maxim 100 de cifre (numere intregi).

Programul (se cere doar executabil) va fi testat pe toate cele patru operatii, cu seturi de cifre alese anume Big grin
Citirea se va face dintr-un fisier, iar operatiile vor fi executate secventiale si rezultatele salvate in alt fisier.

Ex. operatie.in
Cod:
numar1a
operatie_a
numar2a
numar1b
operatie_b
numar2b

adica de ex:
Cod:
123413429239872323
*
983475435987234
349582398527394872394874
-
3248279382742938472

iar in operatie.out
Cod:
rezultat1
rezultat2


Ma scuzati, dar nu ma apuc de calcule Big grin

Aveti grija ca numele fisierului "operatii.in" nu e batut in cuie ... iar "operatii.out" trebuie sa aiba numele fisierului de intrare - "in" + "out" Big grin
Ex. operatie.exe op.in si va rezulta un op.out

Numarul de operatii din fisierul de intrare va fi limitat de marimea maxima a unui fisier pe NTFS Devil

La operatia de impartire se cere catul si restul intreg al impartirii, care vor fi scrie in fisierul de iesire pe o singura linie in forma:
Cod:
34521214321 42


Bafta si spor la treaba :thleft:

P.S. se interzice postarea sursei !!!

P.S. 2. ca si la tema propusa de TE4L, vreau ca executabilul sa porneasca cand i se spune (cu un parametru in linia de comanda - fisierul de intrare), sa citeasca respectivul fisier, sa efectueze operatiile, iar rezultatele sa le puna in fisierul de iesire (aveti grija la numele lui Devil)

P.S. 3. daca din anumite greseli ale mele, uit sa pun fisierul de intrare acolo unde trebuie sau pun date aiurea in fisier si programul vostru face urat, sunteti depunctati Winking
Memorat

Xladhenian
*

Deconectat Deconectat

Mesaje: 47

[avansat][Concurs nr. 3] Operatii, Iun 27, 2007, 07:38

Exemplu 1:

Pt op.in
83129AB*BC43398
va efectua 83129 * 43398


Exemplu 2:

Pt op.in
213bh+2134mi+23+*132wqd21
va efectua 213 + 2134 si 23 + 132
* este ignorat. La fel 21, deoarece nu are operator si nici al doilea termen

Exemplu 3:

Pt op.in
213bh+21214dn32db34mi+23+*132wqd21
va efectua 213 + 21214 si 34 + 23
numerele 32,132,21 si operatorul * sunt ignorate.

... exemplele pot continua

Se poate ca programul sa creeze un fisier *.dat (* = numele fisierului de intraram, fara extensie. ca ex op.dat) in care sa se scrie operatiile pe care le-a facut?
Programul este considerat bun daca ignora alte caractere care nu sunt cifre sau operatori sau daca citeste astfel de fisiere(asa cum am explicat in exemple)?
Memorat
DarkByte
*

Conectat Conectat

Mesaje: 2428

WWW
[avansat][Concurs nr. 3] Operatii, Iun 27, 2007, 07:44

Nu trebuie sa le ignore ... dimpotriva, trebuie sa faca o verificare sa vada daca pe o anumita linie (vezi structura fisierului din primul meu post) este un numar (sau un operator, w/e) ... daca in cele 3 linii care compun o operatie este o problema pe undeva, atunci respectiva operatie NU va fi executata, fara mesaj de eroare sau alte chestii.

In legatura cu fisierul *.dat ... n-am nimic impotriva, dar *.out trebuie neaparat sa existe.

Bafta
Memorat

Xladhenian
*

Deconectat Deconectat

Mesaje: 47

[avansat][Concurs nr. 3] Operatii, Iun 27, 2007, 08:20

Sa zicem ca impartim fisierul in X parti, fiecare parte fiind formata din 3 linii. Daca o parte are greseli nu o executam?

ex
1    |
2    | nu se executa nimic in prima parte (sunt 2 operanzi unul langa altul)
*    |
4      ||
       || nu exista decat un singur operand si nu se executa nimic
        ||
5          |||
+         ||| se executa
8          |||

deci nu se va calcula doar 5 + 8

sau cautam un operator si, daca liniile "de sus" si "de jos" sunt operanzi, se calculeaza

1    | se ignora
2    ||
*    || se executa
4    ||
         ||| nu exista operatori si operanzi
         |||
5            ||||
+           |||| se executa
8            ||||

se va calcula doar 2 * 4 si 5 + 8

P.S. : Din cate am inteles... cred ca a doua varianta e corecta...
Memorat
DarkByte
*

Conectat Conectat

Mesaje: 2428

WWW
[avansat][Concurs nr. 3] Operatii, Iun 27, 2007, 08:22

Citat
Sa zicem ca impartim fisierul in X parti, fiecare parte fiind formata din 3 linii. Daca o parte are greseli nu o executam?

ex
1    |
2    | nu se executa nimic in prima parte (sunt 2 operanzi unul langa altul)
*    |
4      ||
       || nu exista decat un singur operand si nu se executa nimic
        ||
5          |||
+         ||| se executa
8          |||

deci nu se va calcula doar 5 + 8


sau cautam un operator si, daca liniile "de sus" si "de jos" sunt operanzi, se calculeaza

1    | se ignora
2    ||
*    || se executa
4    ||
         ||| nu exista operatori si operanzi
         |||
5            ||||
+           |||| se executa
8            ||||

se va calcula doar 2 * 4 si 5 + 8

P.S. : Din cate am inteles... cred ca a doua varianta e corecta...


Ce-am colorat cu galben e varianta care o vreau Winking Citesti seturi de cate 3 linii si verifici setul, nu faci verificari in plus, ca si asa am primit "reclamatii" de la ... o culoare :whistle:
Memorat

Xladhenian
*

Deconectat Deconectat

Mesaje: 47

[avansat][Concurs nr. 3] Operatii, Iun 27, 2007, 12:14

Toate numerele citite din fisier sunt pozitive?
Memorat
DarkByte
*

Conectat Conectat

Mesaje: 2428

WWW
[avansat][Concurs nr. 3] Operatii, Iun 27, 2007, 12:18

Nu zice nimeni nimic de asta. Sunt pozitive, 0 sau negative.
Memorat

emj
*

Deconectat Deconectat

Mesaje: 468

WWW
[avansat][Concurs nr. 3] Operatii, Iul 02, 2007, 18:13

am reusit sa fac eu ceva nu stiu cat de bun e ca nu am mai avut rabdare si m-am enervat destul.....
http://www.speedyshare.com/583194400.html
ps:vedeti ca operatiile de citire se fac in fisierul in.txt...nush ca nu citea cu operatie.in...si scrie in out.txt
Memorat

Gadgetinho - IT cu zambetul pe buze
Noi sa fim sanatosi - Ca boala vine singura - Blog colectiv.
Smash
*****

Conectat Conectat

Mesaje: 674

WWW
[avansat][Concurs nr. 3] Operatii, Iul 03, 2007, 20:35

Citat
Cand se termina concursul? Ca sa stiu daca mai am timp sa am apuc...

Concursul se termin ape  vineri,  13.07.2007
Memorat


Soparla
*

Deconectat Deconectat

Mesaje: 3

[avansat][Concurs nr. 3] Operatii, Iul 04, 2007, 09:50

Aici e executabilul si astea sunt exemplele testate:

Memorat
DarkByte
*

Conectat Conectat

Mesaje: 2428

WWW
[avansat][Concurs nr. 3] Operatii, Iul 04, 2007, 10:31

Cred ca nu ar strica sa faci teste cu numere mai mari si sa vezi sa functioneze pana la limite. Vezi ca in primul meu post am spus care sunt limitele.
Overflow or somethin' ->

Bafta
Memorat

Teal
*

Deconectat Deconectat

Mesaje: 602

WWW
[avansat][Concurs nr. 3] Operatii, Iul 06, 2007, 15:26

Mi-am zis, ce dracu, hai sa termin asta. Si incet, ca lenea e mare, si treaba e multa, m-am incumetat sa il termin  :blush:

sursa: aici

poti sa faci ce vrei cu el Smile
Memorat


"Not only the wisdom of centuries — also their madness breaketh
out in us. Dangerous is it to be an heir."

Nietzsche
AdyX
*

Deconectat Deconectat

Mesaje: 1060

WWW
[avansat][Concurs nr. 3] Operatii, Iul 07, 2007, 19:02

Citat
Citat
Cand se termina concursul? Ca sa stiu daca mai am timp sa am apuc...

Concursul se termin ape  vineri,  13.07.2007


Ce e asta, lume?


 :blush:  Se pare ca nu m-am uitat bine in calendar  :blush:  (SmLex)
Memorat
Smash
*****

Conectat Conectat

Mesaje: 674

WWW
[avansat][Concurs nr. 3] Operatii, Iul 09, 2007, 06:09

Castigator TE4L   cu 6  voturi
Memorat


SkullAds
Ecspert
ReclAmator
* * * * *
Google AdSense

Gen: Bărbat
Mesaje: Multe

Reclama AdSense,
 

 
   


Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Ethical hacking and programming community
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro