Structures
Notions et points abordés :
Déclaration d'une structure
|
Syntaxe |
Exemple |
|
|
struct struct |
Affectation d'une structure
(affectation de chaque champ de la structure)
|
Syntaxe |
Exemple |
|
nom.champ2 = valeur; |
// Affectation de chaque champ de la case A1 A1.colonne = 'A'; A1.rangee = 1; A2.colonne = A1.colonne; A2.rangee = A1.rangee+1; |
Définition d'un nouveau type
|
Syntaxe |
Exemple |
|
|
// Définition du type des booléens typedef int bool; #define true 1 // Déclaration et affectation d'un booléen bool b; b = true; // Définition du type case d'un échiquier typedef struct // Déclaration et affectation de cases Case B1; B1.colonne = 'B'; X = B1; |
|
#include <stdio.h> |
|
Syntaxe |
Exemple |
|
|
// Déclaration d'un pointeur sur une case Case *p; // allocation d'une zone mémoire pour 1 case p = malloc(sizeof(Case)); // Affectation de la structure pointée par p (*p).colonne = 'C'; // ou de façon plus concise : p->colonne = 'C'; |
|
Syntaxe |
Exemple |
|
|
// Déclaration d'un type ensemble de nombres
réels typedef struct // Déclaration d'un ensemble E ensemble E; // Affectation à E de l'ensemble vide { } E.contenu = NULL; // Affectation à E de l'ensemble { 3.14 } E.contenu = malloc(sizeof(float)); |
Définir un type complexe pour représenter les nombres
complexes. On utilisera une structure à deux champs pour la partie réelle et la
partie imaginaire d'un nombre complexe.complexe
cons_complexe( float r, float i )
Écrire une
fonction qui affiche un nombre complexe (sous la forme a+ib)void
affiche_complexe( complexe c )
somme_complexe et produit_complexe
d'addition et de multiplication de deux nombres complexes. On
rappelle que : (a1+ib1)+(a2+ib2)
= (a1+a2)+i(b1+b2) et (a1+ib1)x(a2+ib2)
= (a1xa2-b1xb2)+i(a2xb1+a1xb2).
Polynômes à coefficients
réels
Définir un type polynome pour représenter les polynomes de
degré n à
coefficients réels. On utilisera une structure à deux
champs : un entier degre égal à n et un tableau dynamique coef de n+1
réels contenant les coefficients du polynôme. Écrire une
fonction qui prend en paramètre un entier n,
et qui retourne un nouveau polynôme de degré n, dont tous les coefficients sont
égaux
à 1.
polynome
cons_polynome( int n )
Écrire une
fonction qui affiche un polynôme (sous la forme anxn+an-1xn-1+....+a1x+a0)void
affiche_polynome( polynome p )
somme_polynome et produit_polynome
d'addition et de multiplication de deux polynômes.Définir un type polynome_complexe pour représenter les
polynômes de degré n
à coefficients complexes. Mêmes questions que pour les polynômes à coefficients réels.