• Aucun résultat trouvé

TD n°2 de langage C : bitwises, tableaux, chaînes

N/A
N/A
Protected

Academic year: 2022

Partager "TD n°2 de langage C : bitwises, tableaux, chaînes"

Copied!
1
0
0
En savoir plus ( Page)

Texte intégral

(1)

TD n°2 de langage C : bitwises, tableaux, chaînes

Exercice 1 (acquisition)

Réalisez une fonction int f0(int x)qui retourne un Booléen ayant la valeur vrai si et seulement si les 4 bits de poids faibles de la représentation binaire de x sont tous à 0.

Réalisez une fonction int f1(int x) qui vérifie selon les mêmes modalités si les 4 bits de poids faibles de x sont tous à 1.

Exercice 2 (acquisition)

Réalisez une fonction int n1(int x) qui retourne le nombre de bits ayant la valeur 1 dans la représentation binaire de l'en- tier x.

Exercice 6 (consolidation)

Réalisez une fonction void exgb(int* p, int a, int b) qui échange les valeurs des bits situés en positions a et b dans

l'entier pointé par p.

Les position 0 correspond au bit de poids faible.

Exercice 3 (acquisition)

Réalisez une fonction int cmpt(int t1[], int t2[], int n) qui compare les conte- nus des n premières cellules des tableaux t1 et t2 et retourne un Booléen valant vrai si et seulement si les contenu des ces n premières cellules sont identiques entre les deux tableaux.

Exercice 4 (acquisition)

Réalisez une fonction void ins(int t[], int i, int x, int n) qui insère la valeur x en position i dans le tableau t, supposé avoir une longueur n. Les éléments initialement situés aux positions i à n-2 sont décalés. L'élément initialement situé en position n-1 est supprimé.

Utilisez un dessin pour expliquer le principe de votre solution.

Exercice 5 (acquisition)

Réalisez votre propre implantation de la fonction void scat(char* dest, char*

src) ayant un comportement identique à celui de la fonction standard strcat, à savoir que la chaîne src est concaténée à la chaîne dest.

Exercice 7 (consolidation)

Réalisez une fonction void iclass(int[]

t1, int n1, int[] t2, int n2, int[] t, int n) qui, en supposant que t1 contient n1 entiers classés en ordre croissant et que t2 contient n2 entiers classés en ordre croissant, place dans t tous les éléments de t1 et tous ceux de t2, classés en ordre croissant.

Exercice 8 (consolidation)

Réalisez une fonction void gsc(int n, int k) qui affiche toutes les suites strictement croissantes de n entiers de valeurs comprises entre 1 et k.

N'hésitez pas à décomposer votre solution en plusieurs fonctions et à utiliser la récursivité.

Exercice 9 (consolidation)

Réalisez une fonction int t1c(char *s, int k) qui s'exécute en temps linéaire et retourne un Booléen valant vrai si et seulement si aucun caractère n'apparaît plus de k fois fois dans la chaîne s.

Vous pouvez utiliser un tableau d'entiers.

Références

Documents relatifs

(iii) La fonction f est le quotient de deux fonctions polynˆ omiales qui sont Ha- damard dif´erentiables.. On suppose B

R´ epondre par VRAI ou FAUX (sans commentaire) ` a chacune des questions suivantes (notation : +1 par r´ eponse correcte et -1 par r´ eponse incorrecte ; la note de l’exercice sera

L’ensemble des fonctions continues par morceaux d´ efinies sur [0, 1] et ` a valeurs dans R est stable par prise de la valeur absolue.. Le r´ esultat est-il encore vrai si l’on

Montrer qu’on peut appliquer le théorème des fonctions implicites à la fonction f au voisinage de ( 0, 0 )... Donc, les dérivées partielles en (0,0) n’existe pas.. b) Au moyen

On déduit de la

On déduit de la

En utilisant la r´ eciproque du th´ eor` eme des milieux dans le triangle ABC , I est le milieu de [AC], donc si (KI) ´ etait parall` ele ` a (BC ) alors K serait le milieu de

[r]

[r]

On suppose qu’il existe une fonction int´ egrable f telle que 1/f soit ´ egalement int´ egrable.. Que peut-on dire de la mesure

Donc cette dernière somme est atteinte, ce qui entraîne l’égalité

Cet algorithme sera réalisé dans une fonction qui aura un certain nombre de paramètres dont le nom de la fonction mathématique dont on cherche le 0.. Testez sur

Une méthode serait d’utiliser le tableau de signe et de déterminer pour quelles valeurs de x (4x − x 2 )

H est le milieu du segment [CD]. 2) Montrer que les droites (EB) et (CD) sont perpendiculaires. b) Déduire que les points A,C,D et F appartient à un même cercle (C) que l'on

Donc Int(A)

(Contenu de Gauß d’un polynôme) On dit qu’un polynôme P (T) ∈ Z[T ] non nul est primitif si ses coefficients sont premiers entre eux dans leur ensemble.. (i) Montrer que le

Montrer que les points M 1 et M 2 varient sur un même cercle dont on précisera le centre et le rayon.. Etudier la dérivabilité de f à droite en 0 et interpréter graphiquement

Afin de rendre le problème de taille finie, susceptible d’être discrétisé, on approche le problème posé sur R 3 tout entier par un problème posé sur une boîte B englobant

On sait qu’une suite croissante de nombres r´eels converge (vers une limite finie) si et seulement si elle est born´ee; on peut dire par cons´equent :.. Th´ eor`

On rappelle que les documents, calculatrices et téléphones portables sont interdits et que le barème n'est donné qu'à titre indicatif et pourra être modié.. Barème indicatif

X en seondes que haun a réalisé suit une distribution normale N (140; 100). Déterminer le nombre de skieurs ayant réalisé un temps supérieur à 150 seondes... 2.. 2) Parmi 900

En utilisant la fonction pt précédemment décrite, réalisez une fonction void tri(int t[], int n) qui trie en ordre croissant les valeurs stockées dans un tableau t supposé de taille

Réalisez une fonction int getPar(char t[], char p[] int n) qui place dans le tableau p toutes les valeurs paires conte- nues dans le tableau t, qui est supposé être de longueur n,