• Aucun résultat trouvé

2 Matrices creuses

N/A
N/A
Protected

Academic year: 2022

Partager "2 Matrices creuses"

Copied!
1
0
0

Texte intégral

(1)

Programmation pour le calcul scientifique Ann´ee : 2018-2019

Formation : L3 Ing´enieurie Math´ematique

TP6 : Classes

1 Classes

1. Dans un nouveau fichier, d´efinissez la classepoint, qui contient comme donn´ees priv´ees deux r´eels xety.

2. D´efinissez une variable de la classepoint(= une instance de la classepoint). Essayer de modifier directement les valeurs de ces donn´ees. Que se passe-t-il ?

3. D´efinir les fonctions suivantes comme membres publics de la classepoint: double get_x() {return x;}

double& get_y() {return y;}

Testez-les en utilisant tout `a tour les commandes : A.get_y() = 1.;

A.get_x() = 1.;

Que constatez-vous ? Comment l’expliquez-vous ?

4. Modifiez l’une des deux fonctions afin de pouvoir modifier les valeurs des deux donn´ees de la classe point.

5. D´efinissez undoubleet affectez-luiA.x: que se passe-t-il ? D´eclarez (temporairement : juste pour cette question) publiques les donn´ees de la classe et re-testez la question pr´ec´edente.

6. D´eclarez maintenant ces fonctions comme priv´ees et essayez de recompiler : que se passe-t-il ? 7. Ecrire une fonction membre publiqueaffiche, qui ne renvoie rien mais affiche les donn´ees d’une

instance de la classepoint. Testez-la pour la valider.

8. Ecrire une fonction membre publique translation, prend en argument deux r´eels vx et vy et renvoie unpoint qui est le r´esultat de la translation d’unpointpar le vecteur (vx, vy). Testez-la pour la valider.

9. Ecrivez une fonction publiqueadresse, qui renvoie un pointeur vers l’adresse d’une instance de la classe, en utilisant le pointeur this. Testez-la en cr´eant un pointeur avec cette fonction et en affichant la valeur de l’adresse dupointconsid´er´e.

10. Comment modifier les valeurs des donn´ees correspondant `a cette adresse en utilisant le pointeur ainsi cr´e´e ?

11. Ecrire une fonction amieaddition qui prend en arguments deux instances de la classepoint et retourne comme r´esultat une instance qui est la somme des deux pr´ec´edentes. Testez-la pour la valider.

12. Structurez votre code en trois fichiers : un .cpp contenant le programme principal, un .cpp conte- nant les fonctions et un .h contenant les informations n´ecessaires.

13. Modifiez le makefile du TP pr´ec´edent afin qu’il g´en`ere aussi l’ex´ecutable du code que vous venez d’´ecrire.

2 Matrices creuses

Reprendre la correction du TP2, exercice sur les matrices creuses, et l’adapter en cr´eant une classe de matrice creuses et les fonctions associ´ees.

1

Références

Documents relatifs

Ecrire une fonction Pachinko1 sans argument et en utilisant une boucle for qui simule la descente d'une bille et renvoie le numero du trou dans lequel elle est tombée..4. Ecrire

Les deux op´ erations de base utilis´ ee utilis´ ees pour inverser une matrice sont l’´ echange de deux lignes et l’ajout une ligne ` a une autre.. Ecrivons

BCPST R´ esolution de syst` emes et inversions de matrice 2016-2017 Le but de ce TP est de finir le dernier TP en ´ ecrivant l’ensemble des algorithmes sur les matrices vus dans

[r]

Dans la même classe, écrire une autre fonction horizontal qui prend deux arguments entiers et renvoie une règle graduée : par exemple, horizontal(27,5) renvoie la

L’examen comporte deux exercices sur 4 et 5 points respectivement et un probl` eme sur 39 points, soit un total de 48 points, dont 8 points hors bar` eme, pour une note sur 20.. Ce

Si la pi`ece est trop petite, elle est d´efinitivement perdue, si elle est trop grande on peut la rectifier et le coˆ ut de cette op´eration est de 0, 10 euros

Montrer que la suite des d´ eriv´ ees converge uniform´ ement vers une fonction