Diferente pentru problema/dir intre reviziile #1 si #61

Diferente intre titluri:

dir
Dir

Diferente intre continut:

== include(page="template/taskheader" task_id="dir") ==
Poveste si cerinta...
Costel trebuie sa realizeze, impreuna cu echipa sa, o aplicatie software pentru gestiunea fisierelor de pe hard-disk, sarcina sa fiind aceea de a scrie un modul pentru determinarea cailor tuturor fisierelor de date aflate in structura arborescenta a folderelor de pe disc. Membrii echipei au stabilit o codificare proprie pentru memorarea structurii fisierelor de pe disc, utilizand un sir de caractere. Specificatiile tehnice sunt urmatoarele:
 
* folderul este un fisier de tip special, care poate contine fisiere si/sau foldere (acestea fiind considerate subfoldere ale folderului respectiv);
* numele folderelor incep cu o litera, au maxim 30 de caractere si sunt scrise cu majuscule;
* numele fisierelor de date incep cu o litera, au maxim 30 de caractere si sunt scrise cu minuscule;
* caracterele utilizate pentru numele fisierelor si folderelor sunt literele alfabetului englez si cifrele arabe;
* reprezentarea structurii fisierelor sub forma unui sir de caractere se realizeaza dupa urmatoarea regula: $NUME_FOLDER(lista_de_foldere_si_fisiere)$, unde $lista_de_foldere_si_fisiere$, posibil vida, contine fisierele si/sau subfolderele folderului $NUME_FOLDER$, separate prin virgula. Subfolderele se reprezinta respectand aceeasi regula. De exemplu, structura de fisiere si foldere din figura de mai jos se reprezinta prin sirul de caractere:
{@FOLDER1(FOLDER2(),FOLDER3(FOLDER4(poveste,basm),basm))@}
!problema/dir?dir.jpg!
 
h2. Cerinta
 
Scrieti un program care, cunoscand sirul de caractere ce codifica o structura de fisiere de pe disc, determina calea pentru fiecare fisier de date din structura. Prin cale a unui fisier se intelege o succesiune de foldere, fiecare folder fiind urmat de caracterul $\$(backslash), incepand de la folderul aflat pe cel mai inalt nivel al structurii (primul specificat in sirul ce codifica structura de fisiere), pana la subfolderul in care se afla fisierul de date respectiv si terminata cu numele fisierului. Caile determinate vor fi afisate in ordine lexicografica.
h2. Date de intrare
...
Fisierul de intrare $dir.in$ contine pe prima linie sirul de caractere ce codifica structura de fisiere de pe disc.
h2. Date de iesire
...
Fisierul de iesire $dir.out$ va contine pe prima linie un numar natural $N$ reprezentand numarul de fisiere de date gasite. Pe urmatoarele $N$ linii se vor scrie, in ordine lexicografica, caile ce permit identificarea fisierelor gasite, in formatul: {$F{~1~}\F{~2~}\...\F{~n~}\fisier$}, cate o cale pe o linie.
h2. Restrictii
* $... ≤ ... ≤ ...$
* Sirul de caractere ce codifica structura de fisiere este nevid si contine maxim $1600$ de caractere.
* Structura de foldere contine cel putin un folder si cel putin un fisier.
* Numarul de fisiere de date este cel mult $100$.
* Lungimea caii unui fisier este de cel mult $255$ caractere.
* Sirul {$x{~1~}x{~2~}...x{~n~}$} este mai mic lexicografic decat sirul {$y{~1~}y{~2~}...y{~m~}$}, daca exista $k$ astfel incat {$x{~1~}=y{~1~},x{~2~}=y{~2~},...,x{~k-1~}=y{~k-1~}$} si ({$x{~k~}<y{~k~} sau k=n+1$}).
h2. Exemplu
table(example). |_. dir.in |_. dir.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| {@FOLDER1(FOLDER2(),FOLDER3(FOLDER4(poveste,basm),basm))@}
| 3
FOLDER1\FOLDER3\FOLDER4\basm
FOLDER1\FOLDER3\FOLDER4\poveste
FOLDER1\FOLDER3\basm
|
h3. Explicatie
 
...
 
== include(page="template/taskfooter" task_id="dir") ==
 

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
2070