Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cours_prog
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
yassin.elhakoun
cours_prog
Commits
9f8bb9be
Commit
9f8bb9be
authored
5 years ago
by
orestis.malaspin
Browse files
Options
Downloads
Plain Diff
Merge branch 'master' of
ssh://ssh.hesge.ch:10572/programmation_sequentielle/cours
parents
bdf484cc
0ee2dcac
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
delaunay.md
+19
-19
19 additions, 19 deletions
delaunay.md
pointeurs_avances.md
+4
-4
4 additions, 4 deletions
pointeurs_avances.md
with
23 additions
and
23 deletions
delaunay.md
+
19
−
19
View file @
9f8bb9be
...
...
@@ -66,11 +66,11 @@ void bowyer_watson(point *points, int num_p, vec_triangle *t, int *num_t) {
}
}
vec_ar
r
etes = vecteur_vide();
vec_aretes = vecteur_vide();
pour chaque t dans mauvais_triangles {
pour chaque ar
r
ete dans t {
si l'ar
r
ete n'est partagée avec aucun triangle de mauvais_triangles {
vecteur_push(vec_ar
r
etes, ar
r
ete);
pour chaque arete dans t {
si l'arete n'est partagée avec aucun triangle de mauvais_triangles {
vecteur_push(vec_aretes, arete);
}
}
}
...
...
@@ -79,8 +79,8 @@ void bowyer_watson(point *points, int num_p, vec_triangle *t, int *num_t) {
vec_remove(vec_triangles, t);
}
pour chaque ar
r
ete dans vec_ar
r
etes {
t = form_triangle_from_edge_and_point(ar
r
ete, p);
pour chaque arete dans vec_aretes {
t = form_triangle_from_edge_and_point(arete, p);
vector_push(vec_triangles, t);
}
...
...
@@ -98,29 +98,29 @@ void bowyer_watson(point *points, int num_p, vec_triangle *t, int *num_t) {
\s
criptsize
```
C
void bowyer_watson(point *points,
int num_p,
vec_triangle *t
, int *num_t
) {
ajout_super_triangle(
vec_triangle
, num_t); // ajout super triangle
void bowyer_watson(
vec_
point
s
*points, vec_triangle *t
riangles
) {
ajout_super_triangle(
points, t
, num_t); // ajout super triangle
pour chaque p dans points {
mauvais_triangles = vecteur_vide();
// on détermine les mauvais triangles
pour chaque t dans
vec_
triangle {
pour chaque t dans triangle
s
{
si p est dans le triangle circonscrit de t {
vecteur_push(mauvais_triangles, t);
}
}
vec_ar
r
etes = vecteur_vide();
vec_aretes = vecteur_vide();
// stockage du polygone entourant le "trou"
pour chaque t dans mauvais_triangles {
pour chaque ar
r
ete dans t {
si l'ar
r
ete n'est partagée avec aucun triangle de mauvais_triangles {
vecteur_push(vec_ar
r
etes, ar
r
ete);
pour chaque arete dans t {
si l'arete n'est partagée avec aucun triangle de mauvais_triangles {
vecteur_push(vec_aretes, arete);
}
}
}
// on retire les mauvais triangles
pour chaque t dans mauvais_triangles {
vec_remove(
vec_
triangles, t);
vec_remove(triangles, t);
}
```
...
...
@@ -130,15 +130,15 @@ void bowyer_watson(point *points, int num_p, vec_triangle *t, int *num_t) {
```
C
// on forme les nouveaux triangles et on les ajoute
pour chaque ar
r
ete dans vec_ar
r
etes {
t = form_triangle_from_edge_and_point(ar
r
ete, p);
vector_push(
vec_
triangles, t);
pour chaque arete dans vec_aretes {
t = form_triangle_from_edge_and_point(arete, p);
vector_push(triangles, t);
}
// on retire les points du super triangle
pour chaque t dans
vec_
triangles {
pour chaque t dans triangles {
if t contient un point du super triangle {
vec_remove(
vec_
triangles, t);
vec_remove(triangles, t);
}
}
}
...
...
This diff is collapsed.
Click to expand it.
pointeurs_avances.md
+
4
−
4
View file @
9f8bb9be
...
...
@@ -6,17 +6,17 @@
## Pointeurs de fonctions (1/2)
-
C
O
nsidérons la fonction
`max`
retournant la valeur maximale d'un tableau
-
C
o
nsidérons la fonction
`max`
retournant la valeur maximale d'un tableau
```C
int max(int *t, int size) {
int val_max = t[0];
for (int i = 1; i <
n
; ++i) {
for (int i = 1; i <
size
; ++i) {
if (t[i] > val_max) {
val_max = t[i];
}
}
return
max_val
;
return
val_max
;
}
```
-
L'appel à
`max`
, retourne l'adresse de la fonction en mémoire.
...
...
@@ -30,7 +30,7 @@
int (*pmax)(int *, int);
```
-
Le type doit être déclaré avec la signature de la fonction.
-
On peut alors utiliser l'un ou l'autre indiféremment
-
On peut alors utiliser l'un ou l'autre indif
f
éremment
```C
int (*pmax)(int *, int);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment