fbpx

Problema #3243 – Path – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Scrieți funcția cu următorul antet:

int Path(const char cale[], char d[101][101])

Parametrul cale memorează un șir de caractere format din litere mici și semnul \ și reprezintă o succesiune de foldere incluse unul în altul. Funcția trebuie să memoreze fiecare folder pe câte o linie a matricei d și să returneze numărul de foldere conținute în cale.

Restricții și precizări

  • Lungimea șirului cale nu va depăși 100
  • cale este nevid, deci va exista cel puțin un folder
  • Cei doi parametri sunt indexați de la 0
  • Nu vor exista alte caractere în afară de cele menționate în enunț

Exemplu

Dacă cale = "pbinfo\clx\teste\azi", atunci Path(cale, d) va returna 4. Linia 0 din d va memora pbinfo, linia 1 va memora clx, linia 2 va memora teste și linia 3 va memora azi.

bool lit(char ch){
    return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');
}

int Path(const char cale[], char d[101][101]){
    int i = 0, c = 0, j = 0;
    while(cale[i]){
        if(!lit(cale[i]))
            c++, j = 0;
        else{
            d[c][j] = cale[i];
            j++;
        }
        i++;
    }
    return c + 1;
}
Comentarii

S-ar putea sa iti placa