Code Monkey home page Code Monkey logo

count_island's Introduction

Exercice: count_island

Le programme prend en parametre un fichier contenant une serie de lignes de longueurs egales contenant soit le caractere '.' soit le caractere 'X'. Ces lignes forment un rectangle de '.' comportant des ilots de 'X'. Une ligne est une suite de caracteres '.' et de caracteres 'X' qui se termine par un '\n'. Les lignes font toutes la meme taille. La taille maximum d'une ligne est 1024 caracteres. Une colonne de caracteres est formee par l'ensemble des caracteres dans un fichier qui sont separes par le meme nombre de caracteres du debut de leur ligne respective. On dit que deux caracteres se touchent s'ils sont :

  • soit sur la meme ligne et contigus.
  • soit sur la meme colone et sur des lignes contigues. Un ilot de 'X' est forme par l'ensemble des caracteres qui se touchent. Le programme doit parcourir le fichier ligne par ligne et l'afficher a l'ecran en remplacant tous les 'X' des ilots par leur numero d'apparition dans le fichier. Le programme devra effectue ce traitement en commancant par le debut du fichier. Il ne peut pas y avoir deux resultats differents pour un meme fichier. Si le fichier est vide, qu'une erreur s'est produite ou que aucun fichier n'est passe en parametre, le programme ecrit simplement le caractere '\n' sur sa sortie standard. Le fichier comporte au maximum 10 ilots. Vous trouverez dans le repertoire misc des exemples de fichier.

Exemple 1: Voici le contenu du fichier "toto".

.................XXXXXXXX.......................................... ....................XXXXXXXXX.......XXXXXXXX....................... .................XXXXXXXX..............XXX...XXXXX................. .....................XXXXXX.....X...XXXXXXXXXXX.................... ................................X.................................. ......XXXXXXXXXXXXX.............X.................................. ..................X.............XXXXXXXXX.......................... ..................X.........XXXXXXXXXXXX........................... ..................X................................................ XX.............................................................XXXX XX..................XXXXXXXXXXXXX.................................X ................................................................... .................................................................X. .....................XXXXX.......................................XX

(login@host)./count_island toto .................00000000.......................................... ....................000000000.......11111111....................... .................00000000..............111...11111................. .....................000000.....2...11111111111.................... ................................2.................................. ......3333333333333.............2.................................. ..................3.............222222222.......................... ..................3.........222222222222........................... ..................3................................................ 44.............................................................5555 44..................6666666666666.................................5 ................................................................... .................................................................7. .....................88888.......................................77 (login@host)

Exemple 2: Voici le contenu du fichier "flop_aime".

................................................................... ...X........X.....XXXXX......XXXXXXX...XXXXXXXXXX..XXXXXXXXXX...... ...XX......XX....XX...XX....XX.....XX.....XXXX.....XXXXXXXXXX...... ...XXXX..XXXX...XX.....XX...XX.....XX......XX......XX.............. ...XX.XXXX.XX...XX.....XX...XX.....XX......XX......XX.............. ...XX...X..XX...XX.....XX...XXXXXXXX.......XX......XXXXX........... ...XX......XX...XXXXXXXXX...XXXX...........XX......XXXXX........... ...XX......XX..XX.......XX..XX.XX..........XX......XX.............. ...XX......XX..XX.......XX..XX...X.........XX......XX.............. ...XX......XX..XX.......XX..XX....X......XXXXXX....XXXXXXXXXX...... ...XX......XX.XX.........XX.XX.....XX..XXXXXXXXXX..XXXXXXXXXX..X... ...................................................................

(login@host)./count_island flop_aime ................................................................... ...0........0.....11111......2222222...3333333333..4444444444...... ...00......00....11...11....22.....22.....3333.....4444444444...... ...0000..0000...11.....11...22.....22......33......44.............. ...00.0000.00...11.....11...22.....22......33......44.............. ...00...0..00...11.....11...22222222.......33......44444........... ...00......00...111111111...2222...........33......44444........... ...00......00..11.......11..22.22..........33......44.............. ...00......00..11.......11..22...5.........33......44.............. ...00......00..11.......11..22....6......333333....4444444444...... ...00......00.11.........11.22.....77..3333333333..4444444444..8... ................................................................... (login@host)

Exemple 3: Voici le contenu du fichier "titi"

..X....... ...X.X.... ....XX.XX. .X..XX.... .X..X...X.

(login@host)./count_island titi | cat -e ..0.......$ ...1.2....$ ....22.33.$ .4..22....$ .4..2...5.$ (login@host)

Exemple 4: (login@host)./count_island | cat -e $ (login@host)

------------------- ******** -------------------

count_island's People

Contributors

lereverandnox avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.