Skip to content
Snippets Groups Projects
Verified Commit 523fba50 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

added gitlab-ci

parent 5e60281f
Branches
No related tags found
No related merge requests found
Pipeline #26889 passed
tris_multiples.html
tris_multiples.pdf
.vscode
image: omalaspinas/pandoc:latest
variables:
GIT_SUBMODULE_STRATEGY: recursive
before_script:
##
## Run ssh-agent (inside the build environment)
##
- eval $(ssh-agent -s)
##
## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
## We're using tr to fix line endings which makes ed25519 keys work
## without extra base64 encoding.
## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
##
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
##
## Create the SSH directory and give it the right permissions
##
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
##
## Add host id to known_hosts
##
- echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
build_only:
script:
- make
- make deploy
- rsync -avz prog_seq_c_tp ur1bg_malas@ur1bg.ftp.infomaniak.com:web/malaspinas/
build_artifacts:
script:
- make
artifacts:
paths:
- "*.pdf"
only:
- tags
......@@ -26,6 +26,7 @@ deploy: all
mkdir -p prog_seq_c_tp/tris_multiples
cp tris_multiples.html prog_seq_c_tp/tris_multiples/index.html
cp tris_multiples.pdf prog_seq_c_tp/tris_multiples/tris_multiples.pdf
cp -r skeleton prog_seq_c_tp/tris_multiples/
clean:
rm -rf *.html *.pdf prog_seq_c_tp
......@@ -31,7 +31,19 @@ L'objectif de ce travail pratique est d'implémenter les tris vus en cours. En p
en C des tris par base et par fusion, puis si le temps
le permet le tri par sélection et le tri rapide. Les pseudo-codes de ces tris se trouve dans [les slides du cours](https://malaspinas.academy/algo_cours/cours_7.pdf). Pour vous aider, on vous fournit un squelette que vous devez compléter.
Vous aurez plusieurs tâches
Ce squelette (à télécharger ici) contient:
1. Une fonction `main()` qui lit la ligne de commande, génère un tableau et permet de sélectionner son algorithme tri.
2. Les signatures des fonctions des divers tris `radix_sort()`, `merge_sort()`, `selesction_sort()`, et `quick_sort()`. Ces fonctions prennent en argument un tableau et sa taille et modifie le tableau durant leurs exécutions.
3. L'affichage des tableaux `print()` et la vérification si le tri a réussi.
Vous aurez plusieurs tâches.
1. Diviser le code en différents fichiers et écrire un `Makefile`.
2. Ajouter des variables `size`, `seed`, `sorting_algo_number` dans le code et lire la la ligne de commande pour faire en sorte que le code compile et s'exécute.
3. Écrire le code C correspondant au tri par base et au tri par fusion.
4. Écrire une fonction permettant de vérifier
5. En option ajouter le tri rapide et le tri par sélection.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment