Browse Source

removing todo-link

pull/489/head
lee 5 years ago committed by Xavier Petit
parent
commit
b92d82687e
  1. 2
      subjects/abort.en.md
  2. 2
      subjects/abort.fr.md
  3. 2
      subjects/activebits.en.md
  4. 2
      subjects/activebits.fr.md
  5. 44
      subjects/addlinkednumbers.en.md
  6. 4
      subjects/addprimesum.en.md
  7. 2
      subjects/addprimesum.fr.md
  8. 2
      subjects/advancedsortwordarr.en.md
  9. 2
      subjects/advancedsortwordarr.fr.md
  10. 2
      subjects/alphacount.en.md
  11. 12
      subjects/alphacount.fr.md
  12. 22
      subjects/anagram.en.md
  13. 4
      subjects/any.en.md
  14. 18
      subjects/any.fr.md
  15. 2
      subjects/appendrange.en.md
  16. 10
      subjects/appendrange.fr.md
  17. 10
      subjects/atoi.en.md
  18. 66
      subjects/atoi.fr.md
  19. 2
      subjects/atoibase.en.md
  20. 22
      subjects/atoibase.fr.md
  21. 8
      subjects/atoibaseprog.en.md
  22. 20
      subjects/atoibaseprog.fr.md
  23. 10
      subjects/atoiprog.en.md
  24. 10
      subjects/basicatoi.en.md
  25. 32
      subjects/basicatoi.fr.md
  26. 10
      subjects/basicatoi2.en.md
  27. 42
      subjects/basicatoi2.fr.md
  28. 2
      subjects/basicjoin.en.md
  29. 2
      subjects/basicjoin.fr.md
  30. 6
      subjects/boolean.en.md
  31. 6
      subjects/boolean.fr.md
  32. 14
      subjects/brainfuck.en.md
  33. 14
      subjects/brainfuck.fr.md
  34. 2
      subjects/btreeapplybylevel.en.md
  35. 2
      subjects/btreeapplybylevel.fr.md
  36. 6
      subjects/btreeapplyinorder.en.md
  37. 6
      subjects/btreeapplyinorder.fr.md
  38. 16
      subjects/btreeapplypostorder.en.md
  39. 6
      subjects/btreeapplypostorder.fr.md
  40. 2
      subjects/btreeapplypreorder.en.md
  41. 2
      subjects/btreeapplypreorder.fr.md
  42. 2
      subjects/btreedeletenode.en.md
  43. 2
      subjects/btreedeletenode.fr.md
  44. 26
      subjects/btreeinsertdata.en.md
  45. 26
      subjects/btreeinsertdata.fr.md
  46. 2
      subjects/btreeisbinary.en.md
  47. 2
      subjects/btreeisbinary.fr.md
  48. 2
      subjects/btreelevelcount.en.md
  49. 2
      subjects/btreelevelcount.fr.md
  50. 2
      subjects/btreemax.en.md
  51. 2
      subjects/btreemax.fr.md
  52. 2
      subjects/btreemin.en.md
  53. 2
      subjects/btreemin.fr.md
  54. 14
      subjects/btreeprintroot.en.md
  55. 18
      subjects/btreeprintroot.fr.md
  56. 2
      subjects/btreesearchitem.en.md
  57. 2
      subjects/btreesearchitem.fr.md
  58. 2
      subjects/btreetransplant.en.md
  59. 2
      subjects/btreetransplant.fr.md
  60. 2
      subjects/capitalize.en.md
  61. 2
      subjects/capitalize.fr.md
  62. 6
      subjects/capitalizeprog.en.md
  63. 6
      subjects/capitalizeprog.fr.md
  64. 14
      subjects/cat.en.md
  65. 14
      subjects/cat.fr.md
  66. 34
      subjects/changeorder.en.md
  67. 10
      subjects/cl-camp1.en.md
  68. 10
      subjects/cl-camp1.fr.md
  69. 6
      subjects/cl-camp3.en.md
  70. 6
      subjects/cl-camp3.fr.md
  71. 8
      subjects/cl-camp4.en.md
  72. 8
      subjects/cl-camp4.fr.md
  73. 2
      subjects/cl-camp5.en.md
  74. 2
      subjects/cl-camp5.fr.md
  75. 10
      subjects/cl.en.md
  76. 10
      subjects/cl.fr.md
  77. 1
      subjects/cleanstr.en.md
  78. 1
      subjects/cleanstr.fr.md
  79. 4
      subjects/collatzcountdown.en.md
  80. 2
      subjects/collatzcountdown.fr.md
  81. 4
      subjects/comcheck.en.md
  82. 4
      subjects/comcheck.fr.md
  83. 84
      subjects/commandments.en.md
  84. 84
      subjects/commandments.fr.md
  85. 10
      subjects/compact.en.md
  86. 6
      subjects/compact.fr.md
  87. 2
      subjects/compare.en.md
  88. 2
      subjects/compare.fr.md
  89. 2
      subjects/concat.en.md
  90. 2
      subjects/concat.fr.md
  91. 2
      subjects/concatparams.en.md
  92. 2
      subjects/concatparams.fr.md
  93. 2
      subjects/convertbase.en.md
  94. 2
      subjects/convertbase.fr.md
  95. 2
      subjects/countif.en.md
  96. 2
      subjects/countif.fr.md
  97. 2
      subjects/createelem.en.md
  98. 2
      subjects/createelem.fr.md
  99. 10
      subjects/displayfile.en.md
  100. 12
      subjects/displayfile.fr.md
  101. Some files were not shown because too many files changed in this diff diff.show_more

2
subjects/abort.en.md

@ -14,7 +14,7 @@ func Abort(a, b, c, d, e int) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/abort.fr.md

@ -14,7 +14,7 @@ func Abort(a, b, c, d, e int) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/activebits.en.md

@ -14,7 +14,7 @@ func ActiveBits(n int) uint {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/activebits.fr.md

@ -14,7 +14,7 @@ func ActiveBits(n int) uint {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

44
subjects/addlinkednumbers.en.md

@ -23,8 +23,8 @@ Write a function that adds the two numbers and returns the sum as a linked list
package main
type NodeAddL struct {
Next *NodeAddL
Num int
Next *NodeAddL
Num int
}
func AddLinkedNumbers(num1, num1 *NodeAddL) *NodeAddL {
@ -40,7 +40,7 @@ Here is a possible program to test your function:
package main
import (
"fmt"
"fmt"
)
func pushFront(node *NodeAddL, num int) *NodeAddL {
@ -48,25 +48,25 @@ func pushFront(node *NodeAddL, num int) *NodeAddL {
}
func main() {
// 3 -> 1 -> 5
num1 := &NodeAddL{Num:5}
num1 = pushFront(num1, 1)
num1 = pushFront(num1, 3)
// 5 -> 9 -> 2
num2 := &NodeAddL{Num:2}
num2 = pushFront(num2, 9)
num2 = pushFront(num2, 5)
// 9 -> 0 -> 7
result := AddLinkedNumbers(num1, num2)
for tmp := result; tmp != nil; tmp = tmp.Next {
fmt.Print(tmp.Num)
if tmp.Next != nil {
fmt.Print(" -> ")
}
}
fmt.Println()
// 3 -> 1 -> 5
num1 := &NodeAddL{Num:5}
num1 = pushFront(num1, 1)
num1 = pushFront(num1, 3)
// 5 -> 9 -> 2
num2 := &NodeAddL{Num:2}
num2 = pushFront(num2, 9)
num2 = pushFront(num2, 5)
// 9 -> 0 -> 7
result := AddLinkedNumbers(num1, num2)
for tmp := result; tmp != nil; tmp = tmp.Next {
fmt.Print(tmp.Num)
if tmp.Next != nil {
fmt.Print(" -> ")
}
}
fmt.Println()
}
```

4
subjects/addprimesum.en.md

@ -4,7 +4,7 @@
Write a program that takes a positive integer as argument and displays the sum of all prime numbers inferior or equal to it followed by a newline (`'\n'`).
- If the number of arguments is different from 1, or if the argument is not a positive number, the program displays `0` followed by a newline.
- If the number of arguments is different from 1, or if the argument is not a positive number, the program displays `0` followed by a newline.
### Usage
@ -18,5 +18,5 @@ student@ubuntu:~/[[ROOT]]/test$ ./test 5 7
0
student@ubuntu:~/[[ROOT]]/test$ ./test
0
student@ubuntu:~/[[ROOT]]/test$
student@ubuntu:~/[[ROOT]]/test$
```

2
subjects/addprimesum.fr.md

@ -4,7 +4,7 @@
Écrire un programme qui prend un entier positif comme argument et qui affiche la somme de tous les nombres premiers inférieurs ou égaux à celui-ci, suivie d'un retour à la ligne (`'\n'`).
- Si le nombre d'arguments est différent de 1, ou si l'argument n'est pas un nombre positif, le programme affiche `0` suivi d'un retour à la ligne.
- Si le nombre d'arguments est différent de 1, ou si l'argument n'est pas un nombre positif, le programme affiche `0` suivi d'un retour à la ligne.
### Utilisation

2
subjects/advancedsortwordarr.en.md

@ -14,7 +14,7 @@ func AdvancedSortWordArr(array []string, f func(a, b string) int) {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/advancedsortwordarr.fr.md

@ -14,7 +14,7 @@ func AdvancedSortWordArr(array []string, f func(a, b string) int) {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/alphacount.en.md

@ -17,7 +17,7 @@ func AlphaCount(str string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

12
subjects/alphacount.fr.md

@ -17,20 +17,20 @@ func AlphaCount(str string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
str := "Hello 78 World! 4455 /"
nb := piscine.AlphaCount(str)
fmt.Println(nb)
str := "Hello 78 World! 4455 /"
nb := piscine.AlphaCount(str)
fmt.Println(nb)
}
```

22
subjects/anagram.en.md

@ -35,22 +35,22 @@ Here is a possible program to test your function:
```go
package main
import (
piscine ".."
"fmt"
piscine ".."
"fmt"
)
func main() {
test1 := piscine.IsAnagram("listen", "silent")
fmt.Println(test1)
test1 := piscine.IsAnagram("listen", "silent")
fmt.Println(test1)
test2 := piscine.IsAnagram("alem", "school")
fmt.Println(test2)
test2 := piscine.IsAnagram("alem", "school")
fmt.Println(test2)
test3 := piscine.IsAnagram("neat", "a net")
fmt.Println(test3)
test3 := piscine.IsAnagram("neat", "a net")
fmt.Println(test3)
test4 := piscine.IsAnagram("anna madrigal", "a man and a girl")
fmt.Println(test4)
test4 := piscine.IsAnagram("anna madrigal", "a man and a girl")
fmt.Println(test4)
}
```
@ -63,4 +63,4 @@ true
false
true
true
```
```

4
subjects/any.en.md

@ -4,7 +4,7 @@
Write a function `Any` that returns `true`, for a `string` array :
- if, when that `string` array is passed through an `f` function, at least one element returns `true`.
- if, when that `string` array is passed through an `f` function, at least one element returns `true`.
### Expected function
@ -16,7 +16,7 @@ func Any(f func(string) bool, arr []string) bool {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

18
subjects/any.fr.md

@ -16,25 +16,25 @@ func Any(f func(string) bool, arr []string) bool {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
tab1 := []string{"Hello", "how", "are", "you"}
tab2 := []string{"This", "is", "4", "you"}
tab1 := []string{"Hello", "how", "are", "you"}
tab2 := []string{"This", "is", "4", "you"}
result1 := piscine.Any(piscine.IsNumeric, tab1)
result2 := piscine.Any(piscine.IsNumeric, tab2)
result1 := piscine.Any(piscine.IsNumeric, tab1)
result2 := piscine.Any(piscine.IsNumeric, tab2)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result1)
fmt.Println(result2)
}
```

2
subjects/appendrange.en.md

@ -20,7 +20,7 @@ func AppendRange(min, max int) []int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

10
subjects/appendrange.fr.md

@ -20,19 +20,19 @@ func AppendRange(min, max int) []int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
fmt.Println(piscine.AppendRange(5, 10))
fmt.Println(piscine.AppendRange(10, 5))
fmt.Println(piscine.AppendRange(5, 10))
fmt.Println(piscine.AppendRange(10, 5))
}
```

10
subjects/atoi.en.md

@ -2,13 +2,13 @@
### Instructions
- Write a [function](TODO-LINK) that simulates the behaviour of the `Atoi` function in Go. `Atoi` transforms a number represented as a `string` in a number represented as an `int`.
- Write a function that simulates the behaviour of the `Atoi` function in Go. `Atoi` transforms a number represented as a `string` in a number represented as an `int`.
- `Atoi` returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- `Atoi` returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- For this exercise the handling of the signs + or - **does have** to be taken into account.
- For this exercise the handling of the signs + or - **does have** to be taken into account.
- This function will **only** have to return the `int`. For this exercise the `error` result of atoi is not required.
- This function will **only** have to return the `int`. For this exercise the `error` result of atoi is not required.
### Expected function
@ -20,7 +20,7 @@ func Atoi(s string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

66
subjects/atoi.fr.md

@ -2,13 +2,13 @@
### Instructions
- Écrire une fonction qui reproduit le comportement de la fonction `Atoi` en Go. `Atoi` transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- Écrire une fonction qui reproduit le comportement de la fonction `Atoi` en Go. `Atoi` transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- `Atoi` retourne `0` si la `string` n'est pas considéré un nombre valide. Pour cet exercice des **`string` non valides seront testées!**. Certaines contiendront d'autres caractères que des chiffres.
- `Atoi` retourne `0` si la `string` n'est pas considéré un nombre valide. Pour cet exercice des **`string` non valides seront testées!**. Certaines contiendront d'autres caractères que des chiffres.
- Pour cet exercice la gestion des signes + ou - **doit être** prise en compte.
- Pour cet exercice la gestion des signes + ou - **doit être** prise en compte.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
### Fonction attendue
@ -20,43 +20,43 @@ func Atoi(s string) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
s := "12345"
s2 := "0000000012345"
s3 := "012 345"
s4 := "Hello World!"
s5 := "+1234"
s6 := "-1234"
s7 := "++1234"
s8 := "--1234"
n := piscine.Atoi(s)
n2 := piscine.Atoi(s2)
n3 := piscine.Atoi(s3)
n4 := piscine.Atoi(s4)
n5 := piscine.Atoi(s5)
n6 := piscine.Atoi(s6)
n7 := piscine.Atoi(s7)
n8 := piscine.Atoi(s8)
fmt.Println(n)
fmt.Println(n2)
fmt.Println(n3)
fmt.Println(n4)
fmt.Println(n5)
fmt.Println(n6)
fmt.Println(n7)
fmt.Println(n8)
s := "12345"
s2 := "0000000012345"
s3 := "012 345"
s4 := "Hello World!"
s5 := "+1234"
s6 := "-1234"
s7 := "++1234"
s8 := "--1234"
n := piscine.Atoi(s)
n2 := piscine.Atoi(s2)
n3 := piscine.Atoi(s3)
n4 := piscine.Atoi(s4)
n5 := piscine.Atoi(s5)
n6 := piscine.Atoi(s6)
n7 := piscine.Atoi(s7)
n8 := piscine.Atoi(s8)
fmt.Println(n)
fmt.Println(n2)
fmt.Println(n3)
fmt.Println(n4)
fmt.Println(n5)
fmt.Println(n6)
fmt.Println(n7)
fmt.Println(n8)
}
```

2
subjects/atoibase.en.md

@ -28,7 +28,7 @@ func AtoiBase(s string, base string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

22
subjects/atoibase.fr.md

@ -8,9 +8,9 @@ Si la base n'est pas valide elle retourne `0`:
Règles de validité d'une base :
- Une base doit contenir au moins 2 caractères.
- Chaque caractère d'une base doit être unique.
- Une base ne doit pas contenir les caractères `+` ou `-`.
- Une base doit contenir au moins 2 caractères.
- Chaque caractère d'une base doit être unique.
- Une base ne doit pas contenir les caractères `+` ou `-`.
Seuls des nombres en `string` valides seront testés.
@ -26,22 +26,22 @@ func AtoiBase(s string, base string) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
fmt.Println(piscine.AtoiBase("125", "0123456789"))
fmt.Println(piscine.AtoiBase("1111101", "01"))
fmt.Println(piscine.AtoiBase("7D", "0123456789ABCDEF"))
fmt.Println(piscine.AtoiBase("uoi", "choumi"))
fmt.Println(piscine.AtoiBase("bbbbbab", "-ab"))
fmt.Println(piscine.AtoiBase("125", "0123456789"))
fmt.Println(piscine.AtoiBase("1111101", "01"))
fmt.Println(piscine.AtoiBase("7D", "0123456789ABCDEF"))
fmt.Println(piscine.AtoiBase("uoi", "choumi"))
fmt.Println(piscine.AtoiBase("bbbbbab", "-ab"))
}
```

8
subjects/atoibaseprog.en.md

@ -19,9 +19,9 @@ If the base or the `string` number is not valid it returns `0`:
Validity rules for a base :
- A base must contain at least 2 characters.
- Each character of a base must be unique.
- A base should not contain `+` or `-` characters.
- A base must contain at least 2 characters.
- Each character of a base must be unique.
- A base should not contain `+` or `-` characters.
Only valid `string` numbers will be tested.
@ -37,7 +37,7 @@ func AtoiBase(s string, base string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

20
subjects/atoibaseprog.fr.md

@ -19,9 +19,9 @@ Si la base n'est pas valide elle retourne `0`:
Règles de validité d'une base :
- Une base doit contenir au moins 2 caractères.
- Chaque caractère d'une base doit être unique.
- Une base ne doit pas contenir les caractères `+` ou `-`.
- Une base doit contenir au moins 2 caractères.
- Chaque caractère d'une base doit être unique.
- Une base ne doit pas contenir les caractères `+` ou `-`.
Seuls des nombres en `string` valides seront testés.
@ -37,21 +37,21 @@ func AtoiBase(s string, base string) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
"fmt"
)
func main() {
fmt.Println(AtoiBase("125", "0123456789"))
fmt.Println(AtoiBase("1111101", "01"))
fmt.Println(AtoiBase("7D", "0123456789ABCDEF"))
fmt.Println(AtoiBase("uoi", "choumi"))
fmt.Println(AtoiBase("bbbbbab", "-ab"))
fmt.Println(AtoiBase("125", "0123456789"))
fmt.Println(AtoiBase("1111101", "01"))
fmt.Println(AtoiBase("7D", "0123456789ABCDEF"))
fmt.Println(AtoiBase("uoi", "choumi"))
fmt.Println(AtoiBase("bbbbbab", "-ab"))
}
```

10
subjects/atoiprog.en.md

@ -13,13 +13,13 @@ This means that:
### Instructions
- Write a [function](TODO-LINK) that simulates the behaviour of the `Atoi` function in Go. `Atoi` transforms a number represented as a `string` in a number represented as an `int`.
- Write a [function](TODO-LINK) that simulates the behaviour of the `Atoi` function in Go. `Atoi` transforms a number represented as a `string` in a number represented as an `int`.
- `Atoi` returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- `Atoi` returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- For this exercise the handling of the signs + or - **does have** to be taken into account.
- For this exercise the handling of the signs + or - **does have** to be taken into account.
- This function will **only** have to return the `int`. For this exercise the `error` result of atoi is not required.
- This function will **only** have to return the `int`. For this exercise the `error` result of atoi is not required.
### Expected function
@ -31,7 +31,7 @@ func Atoi(s string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

10
subjects/basicatoi.en.md

@ -2,13 +2,13 @@
### Instructions
- Write a function that simulates the behaviour of the atoi function in Go. Atoi transforms a number defined as a `string` in a number defined as an `int`.
- Write a function that simulates the behaviour of the atoi function in Go. Atoi transforms a number defined as a `string` in a number defined as an `int`.
- Atoi returns `0` if the `string` is not considered as a valid number. For this exercise **only valid** `string` chains will be tested. They will only contain one or several digits as characters.
- Atoi returns `0` if the `string` is not considered as a valid number. For this exercise **only valid** `string` chains will be tested. They will only contain one or several digits as characters.
- For this exercise the handling of the signs `+` or `-` does not have to be taken into account.
- For this exercise the handling of the signs `+` or `-` does not have to be taken into account.
- This function will **only** have to return the `int`. For this exercise the `error` return of atoi is not required.
- This function will **only** have to return the `int`. For this exercise the `error` return of atoi is not required.
### Expected function
@ -20,7 +20,7 @@ func BasicAtoi(s string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

32
subjects/basicatoi.fr.md

@ -2,13 +2,13 @@
### Instructions
- Écrire une fonction qui reproduit le comportement de la fonction atoi en Go. Atoi transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- Écrire une fonction qui reproduit le comportement de la fonction atoi en Go. Atoi transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- Atoi retourne `0` si la `string` n'est pas considéré un nombre valide. Pour cet exercice **seulement des** `string` **valides** seront testées. Elles ne contiendront que un ou plusieurs chiffres comme charact.
- Atoi retourne `0` si la `string` n'est pas considéré un nombre valide. Pour cet exercice **seulement des** `string` **valides** seront testées. Elles ne contiendront que un ou plusieurs chiffres comme charact.
- Pour cet exercice la gestion des signes `+` ou `-` ne doit pas être prise en compte.
- Pour cet exercice la gestion des signes `+` ou `-` ne doit pas être prise en compte.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
### Fonction attendue
@ -20,28 +20,28 @@ func BasicAtoi(s string) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
s := "12345"
s2 := "0000000012345"
s3 := "000000"
s := "12345"
s2 := "0000000012345"
s3 := "000000"
n := piscine.BasicAtoi(s)
n2 := piscine.BasicAtoi(s2)
n3 := piscine.BasicAtoi(s3)
n := piscine.BasicAtoi(s)
n2 := piscine.BasicAtoi(s2)
n3 := piscine.BasicAtoi(s3)
fmt.Println(n)
fmt.Println(n2)
fmt.Println(n3)
fmt.Println(n)
fmt.Println(n2)
fmt.Println(n3)
}
```

10
subjects/basicatoi2.en.md

@ -2,13 +2,13 @@
### Instructions
- Write a function that simulates the behaviour of the atoi function in Go. Atoi transforms a number defined as a `string` in a number defined as an `int`.
- Write a function that simulates the behaviour of the atoi function in Go. Atoi transforms a number defined as a `string` in a number defined as an `int`.
- Atoi returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- Atoi returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- For this exercise the handling of the signs `+` or `-` does not have to be taken into account.
- For this exercise the handling of the signs `+` or `-` does not have to be taken into account.
- This function will **only** have to return the `int`. For this exercise the `error` return of atoi is not required.
- This function will **only** have to return the `int`. For this exercise the `error` return of atoi is not required.
### Expected function
@ -20,7 +20,7 @@ func BasicAtoi2(s string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

42
subjects/basicatoi2.fr.md

@ -2,13 +2,13 @@
### Instructions
- Écrire une fonction qui reproduit le comportement de la fonction atoi en Go. Atoi transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- Écrire une fonction qui reproduit le comportement de la fonction atoi en Go. Atoi transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- Atoi retourne `0` si la `string` n'est pas considérée comme un nombre valide. Pour cet exercice des **`string` non valides seront testées!**. Certaines contiendront d'autres caractères que des chiffres.
- Atoi retourne `0` si la `string` n'est pas considérée comme un nombre valide. Pour cet exercice des **`string` non valides seront testées!**. Certaines contiendront d'autres caractères que des chiffres.
- Pour cet exercice la gestion des signes `+` ou `-` ne doit pas être prise en compte.
- Pour cet exercice la gestion des signes `+` ou `-` ne doit pas être prise en compte.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
### Fonction attendue
@ -20,31 +20,31 @@ func BasicAtoi2(s string) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
s := "12345"
s2 := "0000000012345"
s3 := "012 345"
s4 := "Hello World!"
n := piscine.BasicAtoi2(s)
n2 := piscine.BasicAtoi2(s2)
n3 := piscine.BasicAtoi2(s3)
n4 := piscine.BasicAtoi2(s4)
fmt.Println(n)
fmt.Println(n2)
fmt.Println(n3)
fmt.Println(n4)
s := "12345"
s2 := "0000000012345"
s3 := "012 345"
s4 := "Hello World!"
n := piscine.BasicAtoi2(s)
n2 := piscine.BasicAtoi2(s2)
n3 := piscine.BasicAtoi2(s3)
n4 := piscine.BasicAtoi2(s4)
fmt.Println(n)
fmt.Println(n2)
fmt.Println(n3)
fmt.Println(n4)
}
```

2
subjects/basicjoin.en.md

@ -14,7 +14,7 @@ func BasicJoin(strs []string) string {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/basicjoin.fr.md

@ -14,7 +14,7 @@ func BasicJoin(strs []string) string {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

6
subjects/boolean.en.md

@ -4,11 +4,11 @@
Create a `.go` file.
- The code below has to be copied in that file.
- The code below has to be copied in that file.
- The necessary changes have to be applied so that the program works.
- The necessary changes have to be applied so that the program works.
- The program must be submitted inside a folder with the name `boolean`.
- The program must be submitted inside a folder with the name `boolean`.
### Code to be copied

6
subjects/boolean.fr.md

@ -4,11 +4,11 @@
Créer un fichier `.go`.
- Le code ci-dessous doit être copié dans ce fichier.
- Le code ci-dessous doit être copié dans ce fichier.
- Les changements nécéssaires doivent être appliqués pour que le programme fonctionne.
- Les changements nécéssaires doivent être appliqués pour que le programme fonctionne.
- Le programme doit être rendu dans un dossier nommé `boolean`.
- Le programme doit être rendu dans un dossier nommé `boolean`.
### Code à copier

14
subjects/brainfuck.en.md

@ -9,13 +9,13 @@ The code will always be valid, with less than 4096 operations.
Every operator consists of a single character :
- '>' increment the pointer
- '<' decrement the pointer
- '+' increment the pointed byte
- '-' decrement the pointed byte
- '.' print the pointed byte on standard output
- '[' go to the matching ']' if the pointed byte is 0 (loop start)
- ']' go to the matching '[' if the pointed byte is not 0 (loop end)
- '>' increment the pointer
- '<' decrement the pointer
- '+' increment the pointed byte
- '-' decrement the pointed byte
- '.' print the pointed byte on standard output
- '[' go to the matching ']' if the pointed byte is 0 (loop start)
- ']' go to the matching '[' if the pointed byte is not 0 (loop end)
Any other character is a comment.

14
subjects/brainfuck.fr.md

@ -9,13 +9,13 @@ Le `Brainfuck` est un langage minimaliste. Il consiste en un slice de `byte` (oc
Chaque opérateur consiste en un seul caractère :
- '>' incrémente le pointeur
- '<' décrémente le pointeur
- '+' incrémente le byte pointé
- '-' décrémente le byte pointé
- '.' affiche le byte pointé sur la sortie standard
- '[' se rend à son ']' correspondant si le byte pointé est 0 (début de la boucle)
- ']' se rend à son '[' correspondant si le byte pointé n'est pas 0 (fin de la boucle)
- '>' incrémente le pointeur
- '<' décrémente le pointeur
- '+' incrémente le byte pointé
- '-' décrémente le byte pointé
- '.' affiche le byte pointé sur la sortie standard
- '[' se rend à son ']' correspondant si le byte pointé est 0 (début de la boucle)
- ']' se rend à son '[' correspondant si le byte pointé n'est pas 0 (fin de la boucle)
Tout autre caractère est un commentaire.

2
subjects/btreeapplybylevel.en.md

@ -14,7 +14,7 @@ func BTreeApplyByLevel(root *TreeNode, f func(...interface{}) (int, error)) {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreeapplybylevel.fr.md

@ -14,7 +14,7 @@ func BTreeApplyByLevel(root *TreeNode, fn interface{}) {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

6
subjects/btreeapplyinorder.en.md

@ -14,14 +14,14 @@ func BTreeApplyInorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {

6
subjects/btreeapplyinorder.fr.md

@ -14,14 +14,14 @@ func BTreeApplyInorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {

16
subjects/btreeapplypostorder.en.md

@ -14,22 +14,22 @@ func BTreeApplyPostorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5")
piscine.BTreeApplyPostorder(root, fmt.Println)
root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5")
piscine.BTreeApplyPostorder(root, fmt.Println)
}
```

6
subjects/btreeapplypostorder.fr.md

@ -14,14 +14,14 @@ func BTreeApplyPostorder(root *piscine.TreeNode, f func(...interface{}) (int, er
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine "."
"fmt"
piscine "."
)
func main() {

2
subjects/btreeapplypreorder.en.md

@ -14,7 +14,7 @@ func BTreeApplyPreorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreeapplypreorder.fr.md

@ -14,7 +14,7 @@ func BTreeApplyPreorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/btreedeletenode.en.md

@ -16,7 +16,7 @@ func BTreeDeleteNode(root, node *TreeNode) *TreeNode {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreedeletenode.fr.md

@ -16,7 +16,7 @@ func BTreeDeleteNode(root, node *TreeNode) *TreeNode {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

26
subjects/btreeinsertdata.en.md

@ -10,8 +10,8 @@ The nodes must be defined as follows :
```go
type TreeNode struct {
Left, Right, Parent *TreeNode
Data string
Left, Right, Parent *TreeNode
Data string
}
func BTreeInsertData(root *TreeNode, data string) *TreeNode {
@ -21,25 +21,25 @@ func BTreeInsertData(root *TreeNode, data string) *TreeNode {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5")
fmt.Println(root.Left.Data)
fmt.Println(root.Data)
fmt.Println(root.Right.Left.Data)
fmt.Println(root.Right.Data)
root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5")
fmt.Println(root.Left.Data)
fmt.Println(root.Data)
fmt.Println(root.Right.Left.Data)
fmt.Println(root.Right.Data)
}
```

26
subjects/btreeinsertdata.fr.md

@ -10,8 +10,8 @@ Les nodes doivent être définies comme ci-dessous :
```go
type TreeNode struct {
Left, Right, Parent *TreeNode
Data string
Left, Right, Parent *TreeNode
Data string
}
func BTreeInsertData(root *TreeNode, data string) *TreeNode {
@ -21,25 +21,25 @@ func BTreeInsertData(root *TreeNode, data string) *TreeNode {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
"fmt"
piscine ".."
)
func main() {
root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5")
fmt.Println(root.Left.Data)
fmt.Println(root.Data)
fmt.Println(root.Right.Left.Data)
fmt.Println(root.Right.Data)
root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5")
fmt.Println(root.Left.Data)
fmt.Println(root.Data)
fmt.Println(root.Right.Left.Data)
fmt.Println(root.Right.Data)
}
```

2
subjects/btreeisbinary.en.md

@ -14,7 +14,7 @@ func BTreeIsBinary(root *TreeNode) bool {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreeisbinary.fr.md

@ -14,7 +14,7 @@ func BTreeIsBinary(root *TreeNode) bool {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/btreelevelcount.en.md

@ -14,7 +14,7 @@ func BTreeLevelCount(root *TreeNode) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreelevelcount.fr.md

@ -14,7 +14,7 @@ func BTreeLevelCount(root *TreeNode) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/btreemax.en.md

@ -14,7 +14,7 @@ func BTreeMax(root *TreeNode) *TreeNode {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreemax.fr.md

@ -14,7 +14,7 @@ func BTreeMax(root *TreeNode) *TreeNode {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/btreemin.en.md

@ -14,7 +14,7 @@ func BTreeMin(root *TreeNode) *TreeNode {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreemin.fr.md

@ -14,7 +14,7 @@ func BTreeMin(root *TreeNode) *TreeNode {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

14
subjects/btreeprintroot.en.md

@ -20,18 +20,18 @@ func PrintRoot(root *TreeNode){
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main
func main() {
//rootNode initialized with the value "who"
//rootNode1 initialized with the value "are"
//rootNode2 initialized with the value "you"
printRoot(rootNode)
printRoot(rootNode1)
printRoot(rootNode2)
//rootNode initialized with the value "who"
//rootNode1 initialized with the value "are"
//rootNode2 initialized with the value "you"
printRoot(rootNode)
printRoot(rootNode1)
printRoot(rootNode2)
}
```

18
subjects/btreeprintroot.fr.md

@ -9,8 +9,8 @@ Les nodes doivent être définies comme ci-dessous:
```go
type TreeNode struct {
left, right *TreeNode
data string
left, right *TreeNode
data string
}
func PrintRoot(root *TreeNode){
@ -20,18 +20,18 @@ func PrintRoot(root *TreeNode){
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
func main() {
//rootNode initialized with the value "who"
//rootNode1 initialized with the value "are"
//rootNode2 initialized with the value "you"
printRoot(rootNode)
printRoot(rootNode1)
printRoot(rootNode2)
//rootNode initialized with the value "who"
//rootNode1 initialized with the value "are"
//rootNode2 initialized with the value "you"
printRoot(rootNode)
printRoot(rootNode1)
printRoot(rootNode2)
}
```

2
subjects/btreesearchitem.en.md

@ -14,7 +14,7 @@ func BTreeSearchItem(root *TreeNode, elem string) *TreeNode {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreesearchitem.fr.md

@ -14,7 +14,7 @@ func BTreeSearchItem(root *TreeNode, elem string) *TreeNode {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/btreetransplant.en.md

@ -14,7 +14,7 @@ func BTreeTransplant(root, node, rplc *TreeNode) *TreeNode {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/btreetransplant.fr.md

@ -14,7 +14,7 @@ func BTreeTransplant(root, node, rplc *TreeNode) *TreeNode {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/capitalize.en.md

@ -16,7 +16,7 @@ func Capitalize(s string) string {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/capitalize.fr.md

@ -16,7 +16,7 @@ func Capitalize(s string) string {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

6
subjects/capitalizeprog.en.md

@ -4,11 +4,11 @@
Write a program that capitalizes the first letter of each word **and** lowercases the rest of each word of a `string`.
- A word is a sequence of **alphanumerical** characters.
- A word is a sequence of **alphanumerical** characters.
- If there is more than one argument the program should print `Too many arguments`.
- If there is more than one argument the program should print `Too many arguments`.
- If there is no arguments given the program should print a newline ("`\n`").
- If there is no arguments given the program should print a newline ("`\n`").
### Usage :

6
subjects/capitalizeprog.fr.md

@ -4,11 +4,11 @@
Écrire un programme qui met en majuscule la première lettre de chaque mot et en minuscule les autres lettres du reste du mot d'une `string`.
- Un mot est une suite de caractères **alphanumériques**.
- Un mot est une suite de caractères **alphanumériques**.
- Si il y a plus d'un argument le programme doit afficher `Too many arguments`.
- Si il y a plus d'un argument le programme doit afficher `Too many arguments`.
- Si il n'y a pas d'arguments le programme doit afficher un retour à la ligne (`'\n'`).
- Si il n'y a pas d'arguments le programme doit afficher un retour à la ligne (`'\n'`).
### Utilisation :

14
subjects/cat.en.md

@ -4,23 +4,23 @@
Write a program that has the same behaviour as the system's `cat` command-line.
- The `options` do not have to be handled.
- The `options` do not have to be handled.
- If the program is called without arguments it should take the `input` and print it back (as shown with the "Hello" example below).
- If the program is called without arguments it should take the `input` and print it back (as shown with the "Hello" example below).
- In the program folder create two files named `quest8.txt` and `quest8T.txt`.
- In the program folder create two files named `quest8.txt` and `quest8T.txt`.
- Copy to the `quest8.txt` file the following sentence :
- Copy to the `quest8.txt` file the following sentence :
`"Programming is a skill best acquired by practice and example rather than from books" by Alan Turing`
- Copy to the `quest8T.txt` file the following sentence :
- Copy to the `quest8T.txt` file the following sentence :
`"Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence."`
- In case of error the program should print the error.
- In case of error the program should print the error.
- The program must be submitted inside a folder named `cat`.
- The program must be submitted inside a folder named `cat`.
```console
student@ubuntu:~/[[ROOT]]/cat$ go build

14
subjects/cat.fr.md

@ -4,23 +4,23 @@
Écrire un programme qui a le même comportement que la ligne de commande `cat`.
- Les `options` ne doivent pas être gérés.
- Les `options` ne doivent pas être gérés.
- Si le programme est éxécuté sans arguments il doit prendre l'`input` et l'afficher.
- Si le programme est éxécuté sans arguments il doit prendre l'`input` et l'afficher.
- Dans le dossier du programme créer deux fichiers nommés `quest8.txt` et `quest8T.txt`.
- Dans le dossier du programme créer deux fichiers nommés `quest8.txt` et `quest8T.txt`.
- Copier dans le fichier `quest8.txt` la phrase suivante :
- Copier dans le fichier `quest8.txt` la phrase suivante :
`"Programming is a skill best acquired by pratice and example rather than from books" by Alan Turing`
- Copier dans le fichier `quest8T.txt` la phrase suivante :
- Copier dans le fichier `quest8T.txt` la phrase suivante :
`"Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence."`
- En cas d'erreur le programme doit afficher l'erreur.
- En cas d'erreur le programme doit afficher l'erreur.
- Le programme doit être rendu dans un dossier nommé `cat`.
- Le programme doit être rendu dans un dossier nommé `cat`.
### Utilisation:

34
subjects/changeorder.en.md

@ -24,8 +24,8 @@ You have to return pointer/reference to the beginning of new list
package main
type NodeAddL struct {
Next *NodeAddL
Num int
Next *NodeAddL
Num int
}
func Changeorder(node *NodeAddL) *NodeAddL {
@ -41,26 +41,26 @@ Here is a possible program to test your function:
package main
import (
"fmt"
"fmt"
)
// I implemented pushBack for this
func main() {
num1 := &NodeAddL{Num: 1}
num1 = pushBack(num1, 2)
num1 = pushBack(num1, 3)
num1 = pushBack(num1, 4)
num1 = pushBack(num1, 5)
result := Changeorder(num1)
for tmp := result; tmp != nil; tmp = tmp.Next {
fmt.Print(tmp.Num)
if tmp.Next != nil {
fmt.Print(" -> ")
}
}
fmt.Println()
num1 := &NodeAddL{Num: 1}
num1 = pushBack(num1, 2)
num1 = pushBack(num1, 3)
num1 = pushBack(num1, 4)
num1 = pushBack(num1, 5)
result := Changeorder(num1)
for tmp := result; tmp != nil; tmp = tmp.Next {
fmt.Print(tmp.Num)
if tmp.Next != nil {
fmt.Print(" -> ")
}
}
fmt.Println()
}
```

10
subjects/cl-camp1.en.md

@ -10,11 +10,11 @@ The instincts are coming back...
Put in a file `mastertheLS` the command line that will:
- list the files and directories of the current directory.
- Ignore the hidden files, the "." and the "..".
- Separates the resuls with commas.
- Order them by ascending order of creation date.
- Have the directories ends with a `/`.
- list the files and directories of the current directory.
- Ignore the hidden files, the "." and the "..".
- Separates the resuls with commas.
- Order them by ascending order of creation date.
- Have the directories ends with a `/`.
### Hint

10
subjects/cl-camp1.fr.md

@ -10,11 +10,11 @@ Les instincts resurgissent...
Mettez dans un fichier `mastertheLS` la ligne de commande qui:
- listera les fichiers et dossiers dans le dossier courant.
- Ignorera les fichiers cachés, le "." et le "..".
- Separarera le resultat avec des virgules.
- Les triera pas ordre croissant de date de création.
- Placera un `/` en face des dossiers.
- listera les fichiers et dossiers dans le dossier courant.
- Ignorera les fichiers cachés, le "." et le "..".
- Separarera le resultat avec des virgules.
- Les triera pas ordre croissant de date de création.
- Placera un `/` en face des dossiers.
### Indice

6
subjects/cl-camp3.en.md

@ -6,9 +6,9 @@
Create a file `look`, which will look for and show, in the current directory and its sub-folders all the files :
- starting with an `a` or,
- all the files ending with a `z` or,
- all files starting with `z` and ending with `a!`.
- starting with an `a` or,
- all the files ending with a `z` or,
- all files starting with `z` and ending with `a!`.
### Hint

6
subjects/cl-camp3.fr.md

@ -6,9 +6,9 @@
Créer un fichier `look`, qui cherchera et montrera, dans le répertoire courant et ses sous-répertoires, tous les fichiers qui:
- commence avec `a` et,
- tous les fichiers qui se terminent avec `z` et,
- tous les fichiers qui commencent avec `z` et qui se finissent avec `a!`.
- commence avec `a` et,
- tous les fichiers qui se terminent avec `z` et,
- tous les fichiers qui commencent avec `z` et qui se finissent avec `a!`.
### Indice

8
subjects/cl-camp4.en.md

@ -6,13 +6,13 @@
Create a file `myfamily.sh`, which will show a subject's family (key: relatives).
- The quotes have to be removed.
- The quotes have to be removed.
- The subject will be decided depending on his ID which will be contained in the environment variable HERO_ID.
- The subject will be decided depending on his ID which will be contained in the environment variable HERO_ID.
* Where to look : https://[[DOMAIN]]/assets/superhero/all.json
* Where to look : https://[[DOMAIN]]/assets/superhero/all.json
* What to use : curl, jq and others...
* What to use : curl, jq and others...
### Usage

8
subjects/cl-camp4.fr.md

@ -6,13 +6,13 @@
Créer un fichier `myfamily.sh`, qui affichera la famille d'un individu (clef: relatives).
- Les guillemets doivent être enlevés.
- Les guillemets doivent être enlevés.
- L'individu sera choisi en fonction de son ID qui sera contenu dans la variable d'environment HERO_ID.
- L'individu sera choisi en fonction de son ID qui sera contenu dans la variable d'environment HERO_ID.
* Où chercher : https://[[DOMAIN]]/assets/superhero/all.json
* Où chercher : https://[[DOMAIN]]/assets/superhero/all.json
* Quoi utiliser : `curl`, `jq` et d'autres...
* Quoi utiliser : `curl`, `jq` et d'autres...
### Utilisation

2
subjects/cl-camp5.en.md

@ -6,7 +6,7 @@
Create a file `lookagain.sh`, which will look for, from the current directory and its sub-folders all the files:
- all the files ending with `.sh`.
- all the files ending with `.sh`.
That command will only show the name of the files without the `.sh`.

2
subjects/cl-camp5.fr.md

@ -6,7 +6,7 @@
Créer un fichier `lookagain.sh`, qui cherchera et montrera, dans le répertoire courant et ses sous-répertoires, tous les fichiers qui:
- qui finissent avec `.sh`.
- qui finissent avec `.sh`.
Cette commande montrera le nom des fichiers sans le`.sh`.

10
subjects/cl.en.md

@ -10,11 +10,11 @@ The instincts are coming back...
Put in a file `mastertheLS` the command line that will:
- list the files and folders of the current folder.
- Ignore the hidden files, the "." and the "..".
- Separates the resuls with commas.
- Order them by ascending order of creation date.
- Have the folders have a `/` in front of them.
- list the files and folders of the current folder.
- Ignore the hidden files, the "." and the "..".
- Separates the results with commas.
- Order them by ascending order of creation date.
- Have the folders have a `/` in front of them.
### Hint

10
subjects/cl.fr.md

@ -10,11 +10,11 @@ The instincts are coming back...
Put in a file `mastertheLS` the command line that will:
- list the files and folders of the current folder.
- Ignore the hidden files, the "." and the "..".
- Separates the resuls with commas.
- Order them by ascending order of creation date.
- Have the folders have a `/` in front of them.
- list the files and folders of the current folder.
- Ignore the hidden files, the "." and the "..".
- Separates the results with commas.
- Order them by ascending order of creation date.
- Have the folders have a `/` in front of them.
### Hint

1
subjects/cleanstr.en.md

@ -3,6 +3,7 @@
### Instructions
Write a **program** that takes a `string`, and displays this `string` with exactly:
- one space between words.
- without spaces nor tabs at the beginning nor at the end.
- with the result followed by a newline ("`\n`").

1
subjects/cleanstr.fr.md

@ -3,6 +3,7 @@
### Instructions
Écrire un programme qui prend une `string`, et qui affiche cette `string` avec exactement:
- un espace entre les mots.
- aucun espace ni de tabulation ni au début ni à la fin.
- le résultat avecsuivi d'un saut de ligne("`\n`").

4
subjects/collatzcountdown.en.md

@ -4,7 +4,7 @@
Write a function, `CollatzCountdown`, that returns the number of steps necessary to reach 1 using the collatz countdown.
- It must return `-1` if `start` is equal to `0` or negative.
- It must return `-1` if `start` is equal to `0` or negative.
### Expected function
@ -16,7 +16,7 @@ func CollatzCountdown(start int) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/collatzcountdown.fr.md

@ -16,7 +16,7 @@ func CollatzCountdown(start int) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

4
subjects/comcheck.en.md

@ -4,9 +4,9 @@
Write a program `comcheck` that displays on the standard output `Alert!!!` followed by newline (`'\n'`) if at least one of the arguments passed in parameter matches the `string`:
- `01`, `galaxy` or `galaxy 01`.
- `01`, `galaxy` or `galaxy 01`.
- If none of the parameters match, the program displays a nothing.
- If none of the parameters match, the program displays a nothing.
### Usage

4
subjects/comcheck.fr.md

@ -4,9 +4,9 @@
écrire un programme `comcheck` qui affiche sur la sortie standard `Alert!!!` suivi d'un retour à la ligne (`'\n'`) si au moins un des arguments passé ne paramètre correspond aux `string`:
- `01`, `galaxy` ou `galaxy 01`.
- `01`, `galaxy` ou `galaxy 01`.
- si aucun des paramètres correspond, le programme affiche rien.
- si aucun des paramètres correspond, le programme affiche rien.
### Usage

84
subjects/commandments.en.md

@ -16,89 +16,89 @@ A few basic principles to follow
### The Commandements _(read them)_
- Le numérique est ta passion.
- Le numérique est ta passion.
- Ton objectif à 42 : développer ton talent et tes compétences pour le marché du numérique.
- Ton objectif à 42 : développer ton talent et tes compétences pour le marché du numérique.
- L’objectif de 42 pour toi : te faire accéder au marché de l’emploi, à une longue et pérenne carrière dans le numérique, et te faire progresser socialement.
- L’objectif de 42 pour toi : te faire accéder au marché de l’emploi, à une longue et pérenne carrière dans le numérique, et te faire progresser socialement.
- L’ambition de 42 pour toi : être un pionnier du numérique de demain.
- L’ambition de 42 pour toi : être un pionnier du numérique de demain.
- Il est de ta responsabilité de gérer ta progression : 42 te propose un parcours individualisé adapté à ton rythme.
- Il est de ta responsabilité de gérer ta progression : 42 te propose un parcours individualisé adapté à ton rythme.
- Des challenges jalonnent ton parcours. 42 ne fournira aucun élément de solution. C’est ton rôle de chercher et trouver par toi-même ces solutions pour atteindre l’objectif.
- Des challenges jalonnent ton parcours. 42 ne fournira aucun élément de solution. C’est ton rôle de chercher et trouver par toi-même ces solutions pour atteindre l’objectif.
- Sois actif. N’attend pas que les choses se fassent pour toi. 42 est un parcours 100% pratique.
- Sois actif. N’attend pas que les choses se fassent pour toi. 42 est un parcours 100% pratique.
- Sois autonome dans ton cursus. N’attend pas que l’on te dise quoi faire.
- Sois autonome dans ton cursus. N’attend pas que l’on te dise quoi faire.
- Sois collaboratif, autant sur les projets solos que les projets de groupe. Face aux challenges à resoudre, l’échange et le debat sont tes meilleures armes.
- Sois collaboratif, autant sur les projets solos que les projets de groupe. Face aux challenges à resoudre, l’échange et le debat sont tes meilleures armes.
- Ne "crois" pas. Sois sûr. Techniquement, relationnelement, organisationellement, administrativement.
- Ne "crois" pas. Sois sûr. Techniquement, relationnelement, organisationellement, administrativement.
- Pour être sûr, teste, contrôle.
- Pour être sûr, teste, contrôle.
- N’ai pas peur de te tromper, d’échouer. L’échec est une étape normale vers le succès.
- N’ai pas peur de te tromper, d’échouer. L’échec est une étape normale vers le succès.
- Teste à nouveau. Collabore davantage pour tester davantage.
- Teste à nouveau. Collabore davantage pour tester davantage.
- Ose. Le risque est de se tromper. Voir le commandement 12.
- Ose. Le risque est de se tromper. Voir le commandement 12.
- Sois rigoureux dans ton travail.
- Sois rigoureux dans ton travail.
- Sois investi dans ton cursus : 50 heures par semaine est un minimum. Ta capacité de travail est une valeur. L’école est ouverte 24h/24 et 7j/7.
- Sois investi dans ton cursus : 50 heures par semaine est un minimum. Ta capacité de travail est une valeur. L’école est ouverte 24h/24 et 7j/7.
- Sois régulier dans ton travail. Un jour oui, un jour non, un coup nocturne, un coup diurne... le chaos t’empêche d’avancer.
- Sois régulier dans ton travail. Un jour oui, un jour non, un coup nocturne, un coup diurne... le chaos t’empêche d’avancer.
- Prévois un groupe de travail large et hétérogène pour y trouver facilement des idées neuves et des groupes de projet.
- Prévois un groupe de travail large et hétérogène pour y trouver facilement des idées neuves et des groupes de projet.
- Pour tes collaborations et ton travail en groupe, privilégie des étudiants qui n’ont pas déjà la solution au problème.
- Pour tes collaborations et ton travail en groupe, privilégie des étudiants qui n’ont pas déjà la solution au problème.
- Sois investi dans ton groupe de projet, et ne le laisse pas faire ton travail à ta place.
- Sois investi dans ton groupe de projet, et ne le laisse pas faire ton travail à ta place.
- Ton groupe de projet est solidaire, son succès comme son échec est de la responsabilité de tous, et les conflits se règlent en interne.
- Ton groupe de projet est solidaire, son succès comme son échec est de la responsabilité de tous, et les conflits se règlent en interne.
- Travaille à l’école. Faire du peer-learning, collaborer, cela demande d’être physiquement avec les autres. A distance cela ne fonctionne pas.
- Travaille à l’école. Faire du peer-learning, collaborer, cela demande d’être physiquement avec les autres. A distance cela ne fonctionne pas.
- Implique toi dans les évaluations de tes projets. Elles te permettent de prendre du recul.
- Implique toi dans les évaluations de tes projets. Elles te permettent de prendre du recul.
- Implique toi dans tes évaluations des projets des autres. La qualité de la communauté en dépend.
- Implique toi dans tes évaluations des projets des autres. La qualité de la communauté en dépend.
- Sois juste et teste rigoureusement tes projets comme ceux des autres en évaluation avec tes propres jeux de tests.
- Sois juste et teste rigoureusement tes projets comme ceux des autres en évaluation avec tes propres jeux de tests.
- Joue pleinement le jeu de ta scolarité dans l’état d’esprit demandé, fait tous les exercices et projets demandés.
- Joue pleinement le jeu de ta scolarité dans l’état d’esprit demandé, fait tous les exercices et projets demandés.
- Ne cherche pas des biais et des failles dans le système. Tu vas fausser ta propre formation et ta valeur sur le marché.
- Ne cherche pas des biais et des failles dans le système. Tu vas fausser ta propre formation et ta valeur sur le marché.
- Ne triche pas intentionellement. C’est amoral, cela contredit le commandement 12, et c’est du temps inutilement passé à ne pas développer tes compétences pour faire croire aux autres que tu sais coder alors que ce n’est pas le cas.
- Ne triche pas intentionellement. C’est amoral, cela contredit le commandement 12, et c’est du temps inutilement passé à ne pas développer tes compétences pour faire croire aux autres que tu sais coder alors que ce n’est pas le cas.
- Ne rends pas un projet que tu ne serais pas capable de reproduire seul à huis clos. Même si c’est parfois involontaire, c’est aussi de la triche.
- Ne rends pas un projet que tu ne serais pas capable de reproduire seul à huis clos. Même si c’est parfois involontaire, c’est aussi de la triche.
- C’est pas pour tes parents que tu travailles, ni pour le staff. C’est pour toi.
- C’est pas pour tes parents que tu travailles, ni pour le staff. C’est pour toi.
- Participe à la vie de la communauté, à son épanouissement, et sa qualité en sortie de formation.
- Participe à la vie de la communauté, à son épanouissement, et sa qualité en sortie de formation.
- Aide au respect de ces commandements par la communauté.
- Aide au respect de ces commandements par la communauté.
- Sois bienveillant et empathique vis à vis de tes camarades comme des personnes avec qui tu interagis, échanges, débats.
- Sois bienveillant et empathique vis à vis de tes camarades comme des personnes avec qui tu interagis, échanges, débats.
- N’ai pas peur du monde professionnel.
- N’ai pas peur du monde professionnel.
- Respecte le matériel. Des consignes spécifiques sont données en ce sens.
- Respecte le matériel. Des consignes spécifiques sont données en ce sens.
- Respecte les locaux. Des consignes spécifiques sont données en ce sens.
- Respecte les locaux. Des consignes spécifiques sont données en ce sens.
- Respecte les gens, étudiants, staffs, partenaires, visiteurs.
- Respecte les gens, étudiants, staffs, partenaires, visiteurs.
- Respecte la loi en vigueur dans le pays.
- Respecte la loi en vigueur dans le pays.
- Respecte les lois et consignes en vigueur liées à la consommation d’alcool.
- Respecte les lois et consignes en vigueur liées à la consommation d’alcool.
- Respecte les lois et consignes en vigueur liées à la consommation de tabac, stupéfiants, ou produits assimilés.
- Respecte les lois et consignes en vigueur liées à la consommation de tabac, stupéfiants, ou produits assimilés.
- N’hésite pas à interagir avec le staff, pour parler de tes problèmes, pour remonter des problèmes dans le cursus, pour contribuer au cursus.
- N’hésite pas à interagir avec le staff, pour parler de tes problèmes, pour remonter des problèmes dans le cursus, pour contribuer au cursus.
- Si tu t’interroges ou ne comprends pas nos choix pédagogiques, demande nous. On ne fait généralement rien au hasard.
- Si tu t’interroges ou ne comprends pas nos choix pédagogiques, demande nous. On ne fait généralement rien au hasard.
### Required

84
subjects/commandments.fr.md

@ -16,89 +16,89 @@ A few basic principles to follow
### The Commandements _(read them)_
- Le numérique est ta passion.
- Le numérique est ta passion.
- Ton objectif à 42 : développer ton talent et tes compétences pour le marché du numérique.
- Ton objectif à 42 : développer ton talent et tes compétences pour le marché du numérique.
- L’objectif de 42 pour toi : te faire accéder au marché de l’emploi, à une longue et pérenne carrière dans le numérique, et te faire progresser socialement.
- L’objectif de 42 pour toi : te faire accéder au marché de l’emploi, à une longue et pérenne carrière dans le numérique, et te faire progresser socialement.
- L’ambition de 42 pour toi : être un pionnier du numérique de demain.
- L’ambition de 42 pour toi : être un pionnier du numérique de demain.
- Il est de ta responsabilité de gérer ta progression : 42 te propose un parcours individualisé adapté à ton rythme.
- Il est de ta responsabilité de gérer ta progression : 42 te propose un parcours individualisé adapté à ton rythme.
- Des challenges jalonnent ton parcours. 42 ne fournira aucun élément de solution. C’est ton rôle de chercher et trouver par toi-même ces solutions pour atteindre l’objectif.
- Des challenges jalonnent ton parcours. 42 ne fournira aucun élément de solution. C’est ton rôle de chercher et trouver par toi-même ces solutions pour atteindre l’objectif.
- Sois actif. N’attend pas que les choses se fassent pour toi. 42 est un parcours 100% pratique.
- Sois actif. N’attend pas que les choses se fassent pour toi. 42 est un parcours 100% pratique.
- Sois autonome dans ton cursus. N’attend pas que l’on te dise quoi faire.
- Sois autonome dans ton cursus. N’attend pas que l’on te dise quoi faire.
- Sois collaboratif, autant sur les projets solos que les projets de groupe. Face aux challenges à resoudre, l’échange et le debat sont tes meilleures armes.
- Sois collaboratif, autant sur les projets solos que les projets de groupe. Face aux challenges à resoudre, l’échange et le debat sont tes meilleures armes.
- Ne "crois" pas. Sois sûr. Techniquement, relationnelement, organisationellement, administrativement.
- Ne "crois" pas. Sois sûr. Techniquement, relationnelement, organisationellement, administrativement.
- Pour être sûr, teste, contrôle.
- Pour être sûr, teste, contrôle.
- N’ai pas peur de te tromper, d’échouer. L’échec est une étape normale vers le succès.
- N’ai pas peur de te tromper, d’échouer. L’échec est une étape normale vers le succès.
- Teste à nouveau. Collabore davantage pour tester davantage.
- Teste à nouveau. Collabore davantage pour tester davantage.
- Ose. Le risque est de se tromper. Voir le commandement 12.
- Ose. Le risque est de se tromper. Voir le commandement 12.
- Sois rigoureux dans ton travail.
- Sois rigoureux dans ton travail.
- Sois investi dans ton cursus : 50 heures par semaine est un minimum. Ta capacité de travail est une valeur. L’école est ouverte 24h/24 et 7j/7.
- Sois investi dans ton cursus : 50 heures par semaine est un minimum. Ta capacité de travail est une valeur. L’école est ouverte 24h/24 et 7j/7.
- Sois régulier dans ton travail. Un jour oui, un jour non, un coup nocturne, un coup diurne... le chaos t’empêche d’avancer.
- Sois régulier dans ton travail. Un jour oui, un jour non, un coup nocturne, un coup diurne... le chaos t’empêche d’avancer.
- Prévois un groupe de travail large et hétérogène pour y trouver facilement des idées neuves et des groupes de projet.
- Prévois un groupe de travail large et hétérogène pour y trouver facilement des idées neuves et des groupes de projet.
- Pour tes collaborations et ton travail en groupe, privilégie des étudiants qui n’ont pas déjà la solution au problème.
- Pour tes collaborations et ton travail en groupe, privilégie des étudiants qui n’ont pas déjà la solution au problème.
- Sois investi dans ton groupe de projet, et ne le laisse pas faire ton travail à ta place.
- Sois investi dans ton groupe de projet, et ne le laisse pas faire ton travail à ta place.
- Ton groupe de projet est solidaire, son succès comme son échec est de la responsabilité de tous, et les conflits se règlent en interne.
- Ton groupe de projet est solidaire, son succès comme son échec est de la responsabilité de tous, et les conflits se règlent en interne.
- Travaille à l’école. Faire du peer-learning, collaborer, cela demande d’être physiquement avec les autres. A distance cela ne fonctionne pas.
- Travaille à l’école. Faire du peer-learning, collaborer, cela demande d’être physiquement avec les autres. A distance cela ne fonctionne pas.
- Implique toi dans les évaluations de tes projets. Elles te permettent de prendre du recul.
- Implique toi dans les évaluations de tes projets. Elles te permettent de prendre du recul.
- Implique toi dans tes évaluations des projets des autres. La qualité de la communauté en dépend.
- Implique toi dans tes évaluations des projets des autres. La qualité de la communauté en dépend.
- Sois juste et teste rigoureusement tes projets comme ceux des autres en évaluation avec tes propres jeux de tests.
- Sois juste et teste rigoureusement tes projets comme ceux des autres en évaluation avec tes propres jeux de tests.
- Joue pleinement le jeu de ta scolarité dans l’état d’esprit demandé, fait tous les exercices et projets demandés.
- Joue pleinement le jeu de ta scolarité dans l’état d’esprit demandé, fait tous les exercices et projets demandés.
- Ne cherche pas des biais et des failles dans le système. Tu vas fausser ta propre formation et ta valeur sur le marché.
- Ne cherche pas des biais et des failles dans le système. Tu vas fausser ta propre formation et ta valeur sur le marché.
- Ne triche pas intentionellement. C’est amoral, cela contredit le commandement 12, et c’est du temps inutilement passé à ne pas développer tes compétences pour faire croire aux autres que tu sais coder alors que ce n’est pas le cas.
- Ne triche pas intentionellement. C’est amoral, cela contredit le commandement 12, et c’est du temps inutilement passé à ne pas développer tes compétences pour faire croire aux autres que tu sais coder alors que ce n’est pas le cas.
- Ne rends pas un projet que tu ne serais pas capable de reproduire seul à huis clos. Même si c’est parfois involontaire, c’est aussi de la triche.
- Ne rends pas un projet que tu ne serais pas capable de reproduire seul à huis clos. Même si c’est parfois involontaire, c’est aussi de la triche.
- C’est pas pour tes parents que tu travailles, ni pour le staff. C’est pour toi.
- C’est pas pour tes parents que tu travailles, ni pour le staff. C’est pour toi.
- Participe à la vie de la communauté, à son épanouissement, et sa qualité en sortie de formation.
- Participe à la vie de la communauté, à son épanouissement, et sa qualité en sortie de formation.
- Aide au respect de ces commandements par la communauté.
- Aide au respect de ces commandements par la communauté.
- Sois bienveillant et empathique vis à vis de tes camarades comme des personnes avec qui tu interagis, échanges, débats.
- Sois bienveillant et empathique vis à vis de tes camarades comme des personnes avec qui tu interagis, échanges, débats.
- N’ai pas peur du monde professionnel.
- N’ai pas peur du monde professionnel.
- Respecte le matériel. Des consignes spécifiques sont données en ce sens.
- Respecte le matériel. Des consignes spécifiques sont données en ce sens.
- Respecte les locaux. Des consignes spécifiques sont données en ce sens.
- Respecte les locaux. Des consignes spécifiques sont données en ce sens.
- Respecte les gens, étudiants, staffs, partenaires, visiteurs.
- Respecte les gens, étudiants, staffs, partenaires, visiteurs.
- Respecte la loi en vigueur dans le pays.
- Respecte la loi en vigueur dans le pays.
- Respecte les lois et consignes en vigueur liées à la consommation d’alcool.
- Respecte les lois et consignes en vigueur liées à la consommation d’alcool.
- Respecte les lois et consignes en vigueur liées à la consommation de tabac, stupéfiants, ou produits assimilés.
- Respecte les lois et consignes en vigueur liées à la consommation de tabac, stupéfiants, ou produits assimilés.
- N’hésite pas à interagir avec le staff, pour parler de tes problèmes, pour remonter des problèmes dans le cursus, pour contribuer au cursus.
- N’hésite pas à interagir avec le staff, pour parler de tes problèmes, pour remonter des problèmes dans le cursus, pour contribuer au cursus.
- Si tu t’interroges ou ne comprends pas nos choix pédagogiques, demande nous. On ne fait généralement rien au hasard.
- Si tu t’interroges ou ne comprends pas nos choix pédagogiques, demande nous. On ne fait généralement rien au hasard.
### Required

10
subjects/compact.en.md

@ -5,9 +5,9 @@
Write a function `Compact` that takes a pointer to a slice of strings as the argument.
This function must:
- Return the number of elements with non-`nil`.
- Return the number of elements with non-`nil`.
- Compact, i.e., delete the elements with `nil` in the slice.
- Compact, i.e., delete the elements with `nil` in the slice.
### Expected functions
@ -19,15 +19,15 @@ func Compact(ptr *[]string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main
import (
"fmt"
"fmt"
piscine ".."
piscine ".."
)
const N = 6

6
subjects/compact.fr.md

@ -19,15 +19,15 @@ func Compact(ptr *[]string) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main
import (
"fmt"
"fmt"
piscine ".."
piscine ".."
)
const N = 6

2
subjects/compare.en.md

@ -14,7 +14,7 @@ func Compare(a, b string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/compare.fr.md

@ -14,7 +14,7 @@ func Compare(a, b string) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/concat.en.md

@ -14,7 +14,7 @@ func Concat(str1 string, str2 string) string {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/concat.fr.md

@ -14,7 +14,7 @@ func Concat(str1 string, str2 string) string {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/concatparams.en.md

@ -16,7 +16,7 @@ func ConcatParams(args []string) string {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/concatparams.fr.md

@ -16,7 +16,7 @@ func ConcatParams(args []string) string {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/convertbase.en.md

@ -18,7 +18,7 @@ func ConvertBase(nbr, baseFrom, baseTo string) string {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/convertbase.fr.md

@ -18,7 +18,7 @@ func ConvertBase(nbr, baseFrom, baseTo string) string {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/countif.en.md

@ -14,7 +14,7 @@ func CountIf(f func(string) bool, tab []string) int {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/countif.fr.md

@ -14,7 +14,7 @@ func CountIf(f func(string) bool, tab []string) int {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

2
subjects/createelem.en.md

@ -18,7 +18,7 @@ func CreateElem(n *Node, value int) {
### Usage
Here is a possible [program](TODO-LINK) to test your function :
Here is a possible program to test your function :
```go
package main

2
subjects/createelem.fr.md

@ -18,7 +18,7 @@ func CreateElem(n *Node, value int) {
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
Voici un éventuel programme pour tester votre fonction :
```go
package main

10
subjects/displayfile.en.md

@ -4,13 +4,13 @@
Write a program that displays, on the standard output, the content of a file given as argument.
- Create a file `quest8.txt` and write into it the sentence `Almost there!!`
- Create a file `quest8.txt` and write into it the sentence `Almost there!!`
- The argument of the program in this case should be, `quest8.txt`.
- The argument of the program in this case should be, `quest8.txt`.
- In case of error the program should print one the below messages accordingly:
- `File name missing`.
- `Too many arguments`.
- In case of error the program should print one the below messages accordingly:
- `File name missing`.
- `Too many arguments`.
### Usage :

12
subjects/displayfile.fr.md

@ -4,15 +4,15 @@
Écrire un programme qui affiche, sur la sortie standard, le contenu d'un fichier donné en argument.
- Créer un fichier `quest8.txt` et écrire dedans la phrase `Almost there!!`
- Créer un fichier `quest8.txt` et écrire dedans la phrase `Almost there!!`
- L'argument pour ce programme sera, dans ce cas, `quest8.txt`.
- L'argument pour ce programme sera, dans ce cas, `quest8.txt`.
- En cas d'erreur le programme doit afficher un des deux messages suivants de manière approprié:
- `File name missing`.
- `Too many arguments`.
- En cas d'erreur le programme doit afficher un des deux messages suivants de manière approprié:
- `File name missing`.
- `Too many arguments`.
### Utilisation:
### Utilisation :
```console
student@ubuntu:~/[[ROOT]]/test$ go build

Some files were not shown because too many files changed in this diff diff.show_more

Loading…
Cancel
Save