mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
atoibaseprog
##AVERTISSEMENT! TRÈS IMPORTANT!
Pour cet exercice une fonction sera testée avec le main de l'examen. Cependant l'étudiant doit quand même rendre un programme structuré:
Cela signifie que:
- Le package doit être nommé
package main
. - Le code rendu doit avoir une fonction main déclarée(
func main()
) même si elle est vide. - La fonction main déclarée doit aussi passer le
Restrictions Checker
(le testeur de fonctions illégales). Il est conseillé à l'étudiant de rendre une fonction main vide après ses tests finis. - Toutes les autres régles sont les mêmes que pour un
programme
.
Instructions
Écrire une fonction qui prend un nombre string
et sa base string
en paramètres et retourne sa conversion en int
.
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-
.
Seuls des nombres en string
valides seront testés.
La fonction ne doit pas gérer les nombres négatifs.
Fonction attendue
func AtoiBase(s string, base string) int {
}
Utilisation
Voici un éventuel programme pour tester votre fonction :
package main
import (
"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"))
}
Et son résultat :
student@ubuntu:~/test$ go build
student@ubuntu:~/test$ ./test
125
125
125
125
0
student@ubuntu:~/test$