Commit 4c00bb1e authored by Guillaume.Chanel's avatar Guillaume.Chanel
Browse files

Move swift code to C code

- The palindrome exercise is a bit difficult in C, it was simply removed
- The prime number exercise has been transfered to C
parent d73a9cae
......@@ -23,8 +23,7 @@ En se connectant sur la machine [cuilxa.unige.ch](cuilxa.unige.ch) par SSH copie
## C et débuguage
1. Compléter le code de la fonction `isPalindrome` dans le fichier `code/Palindrome.c`, laquelle retourne `true` si son argument est un palindrome. Pour rappel, un palindrome est une séquence de caractères qui peut se lire indifféremment de gauche à droite ou de droite à gauche.
2. A l'aide d'un debugger, identifier et corriger le bug qui s'est glissé dans la fonction `primes` dans le fichier `Numbers.c`, laquelle est supposée retourner la liste des nombres premiers contenus dans le tableau reçu argument.
A l'aide d'un debugger, identifier et corriger le bug qui s'est glissé dans la fonction `primes` dans le fichier `Numbers.c`, laquelle est supposée retourner la liste des nombres premiers contenus dans le tableau reçu argument.
## GIT
......
#include <stdbool.h>
#include <stdio.h>
#define TAILLE 50
/// Returns the prime numbers in `elements`.
void primes(int numbers[]) {
int i;
for (i=0; i<TAILLE; i++) {
bool isPrime = true;
int m;
for (m=1; m < numbers[i] ;m++) {
if (numbers[i] % m == 0) {
isPrime = false;
break;
}
}
if (isPrime)
printf("%i est un nombre premier\n", numbers[i]);
}
}
int main() {
int array[TAILLE];
int i;
for (i=0; i<TAILLE; i++)
array[i] = i+3;
primes(array);
}
\ No newline at end of file
/// Returns the prime numbers in `elements`.
func primes(_ numbers: [Int]) -> [Int] {
var primes: [Int] = []
for n in numbers {
var isPrime = true
for m in 1 ..< n {
if n % m == 0 {
isPrime = false
break
}
}
if isPrime {
primes.append(n)
}
}
return primes
}
let array = Array(2 ..< 50)
let primesInArray = primes(array)
print("\(array) contains the following prime numbers: \(primesInArray)")
/// Returns whether or not the given text is a palindrome.
func isPalindrome(_ text: String) -> Bool {
// Write your code here.
//
// - Hint:
// Check the official documentation on Swift.String to see how to manipulate string
// indices (https://developer.apple.com/documentation/swift/string).
fatalError("not implemented")
}
for string in ["kayak", "koala"] {
let isStringAPalindrome = isPalindrome(string)
print("'\(string)' is \(isStringAPalindrome ? "" : "not ")a palindrome")
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment