debut pile
This commit is contained in:
19
DEV1.1/CM2/Makefile
Normal file
19
DEV1.1/CM2/Makefile
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
but : separation
|
||||||
|
|
||||||
|
OFILES = carre.o\
|
||||||
|
lightness.o
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
|
||||||
|
CFLAGS = -Wall -ansi -pedantic
|
||||||
|
|
||||||
|
carre.o : lightness.h
|
||||||
|
lightness.o : lightness.h
|
||||||
|
|
||||||
|
separation : $(OFILES)
|
||||||
|
$(CC) $(CFLAGS) -o separation $(OFILES)
|
||||||
|
|
||||||
|
clean :
|
||||||
|
-rm -f $(OFILES) separation
|
||||||
|
|
||||||
|
.PHONY : but clean
|
||||||
48
DEV1.1/CM2/carre.c
Normal file
48
DEV1.1/CM2/carre.c
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
#include<stdlib.h>
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<time.h>
|
||||||
|
|
||||||
|
#define RED 1
|
||||||
|
#define GREEN 2
|
||||||
|
#define BLUE 4
|
||||||
|
#define LIGHT_RED 217
|
||||||
|
#define DARK_RED 124
|
||||||
|
#define LIGHT_GREEN 157
|
||||||
|
#define DARK_GREEN 34
|
||||||
|
#define LIGHT_BLUE 147
|
||||||
|
#define DARK_BLUE 19
|
||||||
|
|
||||||
|
|
||||||
|
int hue(void) {
|
||||||
|
int choice = rand()%3;
|
||||||
|
if (choice == 0) {
|
||||||
|
return RED;
|
||||||
|
} else if (choice == 1) {
|
||||||
|
return GREEN;
|
||||||
|
} else /* if (choice == 2) */ {
|
||||||
|
return BLUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
int l, c, v;
|
||||||
|
|
||||||
|
srand(time(NULL));
|
||||||
|
l = lightness();
|
||||||
|
c = hue();
|
||||||
|
|
||||||
|
if (c == RED) {
|
||||||
|
v = (l == LIGHT) ? LIGHT_RED : DARK_RED;
|
||||||
|
} else if (c == GREEN) {
|
||||||
|
v = (l == LIGHT) ? LIGHT_GREEN : DARK_GREEN;
|
||||||
|
} else /* if (c == BLUE) */ {
|
||||||
|
v = (l == LIGHT) ? LIGHT_BLUE : DARK_BLUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("┏━━━━┓\n");
|
||||||
|
printf("┃\33[48;5;%dm \33[m┃\n", v);
|
||||||
|
printf("┃\33[48;5;%dm \33[m┃\n", v);
|
||||||
|
printf("┗━━━━┛\n");
|
||||||
|
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
15
DEV1.1/CM2/lightness.c
Normal file
15
DEV1.1/CM2/lightness.c
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#include<stdlib.h>
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<time.h>
|
||||||
|
#include <lightness.h>
|
||||||
|
|
||||||
|
#define LIGHT 0
|
||||||
|
#define DARK 1
|
||||||
|
|
||||||
|
int lightness(void) {
|
||||||
|
if (time(NULL)%2) {
|
||||||
|
return LIGHT;
|
||||||
|
} else {
|
||||||
|
return DARK;
|
||||||
|
}
|
||||||
|
}
|
||||||
8
DEV1.1/CM2/lightness.h
Normal file
8
DEV1.1/CM2/lightness.h
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#ifndef LIGHTNESS_H
|
||||||
|
#define LIGHTNESS_H
|
||||||
|
#define LIGHT 1
|
||||||
|
#define DARK 0
|
||||||
|
|
||||||
|
int lightness(void);
|
||||||
|
|
||||||
|
#endif /* LIGHTNESS_H */
|
||||||
17
DEV1.1/CM2/section.c
Normal file
17
DEV1.1/CM2/section.c
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char** argv){
|
||||||
|
ldiv_t division;
|
||||||
|
long int num, den;
|
||||||
|
if (argc!=3)
|
||||||
|
printf("Il manque des argument!");
|
||||||
|
num=strtol(argv[1],NULL,10);
|
||||||
|
den=strtol(argv[2],NULL,10);
|
||||||
|
division=ldiv(num,den);
|
||||||
|
printf("quotient : %ld\n",division.quot);
|
||||||
|
printf("reste : %ld\n",division.rem);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
22
DEV1.1/CM2/sensation.c
Normal file
22
DEV1.1/CM2/sensation.c
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#define NBR_BYTE 4
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char** argv){
|
||||||
|
int i,j=0;
|
||||||
|
long valeur,entier;
|
||||||
|
char octet;
|
||||||
|
FILE* fichier=NULL;
|
||||||
|
fichier= fopen("reitne","r");
|
||||||
|
for (i=0;i<NBR_BYTE;i++){
|
||||||
|
fread(&octet,sizeof(char),1,fichier);
|
||||||
|
valeur=strtol(&octet,NULL,10);
|
||||||
|
entier<<i*8;
|
||||||
|
entier=valeur;
|
||||||
|
}
|
||||||
|
printf("%ld\n",valeur);
|
||||||
|
fclose(fichier);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
37
DEV1.1/CM2/suite.c
Normal file
37
DEV1.1/CM2/suite.c
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#define NBR_VAL 10
|
||||||
|
#define NBR_ENT 3
|
||||||
|
#define NBR_ENT1 20
|
||||||
|
#define NBR_ENT2 18
|
||||||
|
#define NBR_ENT3 14
|
||||||
|
|
||||||
|
int* suite(int valeur){
|
||||||
|
int compteur=0;
|
||||||
|
int* tab=NULL;
|
||||||
|
tab=(int*) calloc(NBR_VAL,sizeof(int));
|
||||||
|
while (valeur%2==0){
|
||||||
|
tab[compteur]=valeur;
|
||||||
|
valeur=valeur/2;
|
||||||
|
compteur++;
|
||||||
|
}
|
||||||
|
tab[compteur]=valeur;
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void){
|
||||||
|
int i,indice;
|
||||||
|
int tab[NBR_ENT]={NBR_ENT1,NBR_ENT2,NBR_ENT3};
|
||||||
|
int* tab_val=NULL;
|
||||||
|
for (i=0;i<NBR_ENT;i++){
|
||||||
|
tab_val=suite(tab[i]);
|
||||||
|
printf("tableau de %d\n",tab[i]);
|
||||||
|
indice=0;
|
||||||
|
while(tab_val[indice]!=0){
|
||||||
|
printf("%d\n",tab_val[indice]);
|
||||||
|
indice++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
@@ -12,13 +12,13 @@ int main(int argc,char** argv) {
|
|||||||
puts("L'argument 1 n'est pas un entier naturel !");
|
puts("L'argument 1 n'est pas un entier naturel !");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
} else if (*argv[1] != '\0')
|
} else if (*argv[1] != '\0')
|
||||||
puts("Conversion partielle !");
|
puts("Conversion partielle du premier entier!");
|
||||||
val2=strtol(argv[2],&pos2,10);
|
val2=strtol(argv[2],&pos2,10);
|
||||||
if ((val2 == 0) && (*pos2==argv[2])) {
|
if ((val2 == 0) && (*pos2==argv[2])) {
|
||||||
puts("L'argument 2 n'est pas un entier naturel !");
|
puts("L'argument 2 n'est pas un entier naturel !");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
} else if (*argv[2] != '\0')
|
} else if (*argv[2] != '\0')
|
||||||
puts("Conversion partielle !");
|
puts("Conversion partielle du deuxième entier!");
|
||||||
printf("le calcul est égale à %lo\n",val1*val2);
|
printf("le calcul est égale à %lo\n",val1*val2);
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
int remplissage( int tab[10]){
|
void remplissage( int tab[10]){
|
||||||
int tour,signe;
|
int tour,signe;
|
||||||
int tab_temp[2];
|
int tab_temp[2];
|
||||||
srand(time(NULL));
|
srand(time(NULL));
|
||||||
@@ -13,14 +13,12 @@ int remplissage( int tab[10]){
|
|||||||
signe=rand()%2;
|
signe=rand()%2;
|
||||||
tab[tour]=tab_temp[signe];
|
tab[tour]=tab_temp[signe];
|
||||||
}
|
}
|
||||||
return *tab;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int inversion(const int tab[10], int tab_inv[10]){
|
void inversion(const int tab[10], int tab_inv[10]){
|
||||||
int tour;
|
int tour;
|
||||||
for (tour=0;tour<10;tour++)
|
for (tour=0;tour<10;tour++)
|
||||||
tab_inv[tour]=tab[(9-tour)];
|
tab_inv[tour]=tab[(9-tour)];
|
||||||
return *tab_inv;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void affichage( int tab[10]){
|
void affichage( int tab[10]){
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ int main(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* affichage du resultat */
|
/* affichage du resultat */
|
||||||
printf("C(%d, %d) = %d\n", n, k,(i*i)-j);
|
printf("C(%d, %d) = %d\n", n, k,mem[i+j]);
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
|
|
||||||
|
|||||||
27
DEV1.1/TP21/hexadecimal.c
Normal file
27
DEV1.1/TP21/hexadecimal.c
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(int argc, char const *argv[])
|
||||||
|
{
|
||||||
|
FILE* f;
|
||||||
|
int i;
|
||||||
|
int n = 0;
|
||||||
|
int y;
|
||||||
|
char c[100];
|
||||||
|
f=fopen(argv[1],"r");
|
||||||
|
while(feof(f)==1){
|
||||||
|
for(i=0;i<y;i++){
|
||||||
|
if( c[i] ='\n'){
|
||||||
|
printf("\n");
|
||||||
|
n=n+10;
|
||||||
|
}else{
|
||||||
|
printf("%07d ",n);
|
||||||
|
fread(&c,3,1,f);
|
||||||
|
printf("%c ", c[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose(f);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
BIN
DEV1.1/TP21/image
Executable file
BIN
DEV1.1/TP21/image
Executable file
Binary file not shown.
BIN
DEV1.1/TP21/image.bin
Normal file
BIN
DEV1.1/TP21/image.bin
Normal file
Binary file not shown.
40
DEV1.1/TP21/image.c
Normal file
40
DEV1.1/TP21/image.c
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <graph.h>
|
||||||
|
|
||||||
|
int main(int argc, char const *argv[])
|
||||||
|
{
|
||||||
|
FILE* file;
|
||||||
|
file = fopen("image.bin","r");
|
||||||
|
int i, j;
|
||||||
|
int largeur, hauteur;
|
||||||
|
couleur c;
|
||||||
|
|
||||||
|
fread(&largeur,sizeof(int),1,file);
|
||||||
|
fread(&hauteur,sizeof(int),1,file);
|
||||||
|
|
||||||
|
printf("%d\n",largeur);
|
||||||
|
printf("%d\n",hauteur);
|
||||||
|
|
||||||
|
InitialiserGraphique();
|
||||||
|
CreerFenetre(10, 10, largeur, hauteur);
|
||||||
|
fseek(file,8*largeur/2*hauteur,SEEK_CUR);
|
||||||
|
for(i=largeur/2;i<largeur;i++){
|
||||||
|
|
||||||
|
fseek(file,8*hauteur/2,SEEK_CUR);
|
||||||
|
|
||||||
|
for(j=hauteur/2;j<hauteur;j++){
|
||||||
|
fread(&c,sizeof(unsigned long),1,file);
|
||||||
|
ChoisirCouleurDessin(c);
|
||||||
|
DessinerPixel(i, j);
|
||||||
|
DessinerPixel(i, j-(-1*(hauteur/2)-j));
|
||||||
|
DessinerPixel(i-(-1*(largeur/2-i)), j);
|
||||||
|
DessinerPixel(i-(-1*(largeur/2-i)), j-(-1*(hauteur/2-j)));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
Touche();
|
||||||
|
FermerGraphique();
|
||||||
|
fclose(file);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
BIN
DEV1.1/TP24/maximum
Executable file
BIN
DEV1.1/TP24/maximum
Executable file
Binary file not shown.
67
DEV1.1/TP24/maximum.c
Normal file
67
DEV1.1/TP24/maximum.c
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
struct maillon_s {
|
||||||
|
unsigned short valeur;
|
||||||
|
struct maillon_s* suivant;
|
||||||
|
};
|
||||||
|
typedef struct maillon_s maillon;
|
||||||
|
|
||||||
|
maillon* ajouter_debut(maillon* premier, unsigned short nouveau) {
|
||||||
|
maillon* p = (maillon*) malloc(sizeof(maillon*));
|
||||||
|
if (p) {
|
||||||
|
p->suivant = premier;
|
||||||
|
p->valeur = nouveau;
|
||||||
|
}
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
void creer(maillon** liste, int nombre){
|
||||||
|
int i;
|
||||||
|
srand(time(NULL));
|
||||||
|
*liste=ajouter_debut(*liste, rand()%((999-111)+111));
|
||||||
|
for (i=0;i<nombre-1;i++){
|
||||||
|
*liste=ajouter_debut(*liste, rand()%((999-111)+111));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned short grand(maillon* premier){
|
||||||
|
unsigned short val;
|
||||||
|
val=premier->valeur;
|
||||||
|
premier=premier->suivant;
|
||||||
|
for(;premier!=NULL;premier=premier->suivant){
|
||||||
|
if (val<premier->valeur)
|
||||||
|
val=premier->valeur;
|
||||||
|
}
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void afficher(maillon* premier) {
|
||||||
|
maillon* p;
|
||||||
|
for(p = premier; p != NULL; p = p->suivant)
|
||||||
|
printf("%d ", p->valeur);
|
||||||
|
}
|
||||||
|
|
||||||
|
void vider(maillon* premier){
|
||||||
|
maillon* p;
|
||||||
|
maillon* q;
|
||||||
|
for(p = premier; p != NULL; p = q){
|
||||||
|
q=p->suivant;
|
||||||
|
free(p);
|
||||||
|
}
|
||||||
|
premier=NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void){
|
||||||
|
int val=10;
|
||||||
|
unsigned short plus_grand;
|
||||||
|
maillon* liste=NULL;
|
||||||
|
creer(&liste,val);
|
||||||
|
afficher(liste);
|
||||||
|
plus_grand=grand(liste);
|
||||||
|
printf("\n%d \n", plus_grand);
|
||||||
|
vider(liste);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
BIN
DEV1.1/TP26/fibonacci
Executable file
BIN
DEV1.1/TP26/fibonacci
Executable file
Binary file not shown.
15
DEV1.1/TP26/fibonacci.c
Normal file
15
DEV1.1/TP26/fibonacci.c
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int fibonacci(int n, int val, int valeur){
|
||||||
|
int nombre;
|
||||||
|
if (n==0){
|
||||||
|
printf("%d\n",val);
|
||||||
|
}
|
||||||
|
fibonacci(n-1, valeur, val+valeur);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
fibonacci(9,0,1);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
BIN
DEV1.1/TP26/fibonacci2
Executable file
BIN
DEV1.1/TP26/fibonacci2
Executable file
Binary file not shown.
15
DEV1.1/TP26/fibonacci2.c
Normal file
15
DEV1.1/TP26/fibonacci2.c
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int fibonacci(int n, int val, int valeur){
|
||||||
|
int nombre;
|
||||||
|
if (n){
|
||||||
|
printf("%d\n",val);
|
||||||
|
fibonacci(n-1, valeur, val+valeur);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
fibonacci(15,0,1);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
BIN
DEV1.1/TP26/phase
Executable file
BIN
DEV1.1/TP26/phase
Executable file
Binary file not shown.
18
DEV1.1/TP26/phase.c
Normal file
18
DEV1.1/TP26/phase.c
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
void exemple(unsigned n) {
|
||||||
|
if (n != 0) {
|
||||||
|
putchar('>');
|
||||||
|
exemple(n-1);
|
||||||
|
putchar('<');
|
||||||
|
} else
|
||||||
|
putchar('O');
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
exemple(5);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
/*phase ascendente prmier puchar puis troisième putchar et phase
|
||||||
|
descendante au deuxième putchar*/
|
||||||
BIN
DEV1.1/TP26/tableau
Executable file
BIN
DEV1.1/TP26/tableau
Executable file
Binary file not shown.
17
DEV1.1/TP26/tableau.c
Normal file
17
DEV1.1/TP26/tableau.c
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
void afficher(double tab[], int taille){
|
||||||
|
if (taille>1){
|
||||||
|
printf("%f, ",tab[0]);
|
||||||
|
afficher(tab+1, taille-1);
|
||||||
|
}else{
|
||||||
|
printf("%f\n",tab[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
double tab[5]={1.25, 47.80, 77.01, 54.23, 895.14};
|
||||||
|
afficher(tab, 5);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
BIN
DEV1.1/TP27/curiosite
Executable file
BIN
DEV1.1/TP27/curiosite
Executable file
Binary file not shown.
18
DEV1.1/TP27/curiosite.c
Normal file
18
DEV1.1/TP27/curiosite.c
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int f(int n) {
|
||||||
|
if (n>100)
|
||||||
|
return n-10;
|
||||||
|
else
|
||||||
|
return f(f(n+11));
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
int i;
|
||||||
|
for (i=0; i<101; i++)
|
||||||
|
printf("%d\n",f(88));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Pour les n<101
|
||||||
|
f renvoie 91*/
|
||||||
26
DEV1.1/TP27/triangle.c
Normal file
26
DEV1.1/TP27/triangle.c
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <graph.h>
|
||||||
|
|
||||||
|
void triangle(int x1, int y1, int x2, int y2, int x3, int y3,int n){
|
||||||
|
if (n == 0){
|
||||||
|
DessinerSegment(x1, y1, x2, y2);
|
||||||
|
DessinerSegment(x2, y2, x3, y3);
|
||||||
|
DessinerSegment(x3, y3, x1, y1);
|
||||||
|
}else{
|
||||||
|
triangle(x1, y1, (x2+x1)/2, y2, (x3+x1)/2, (y3+y2)/2, n-1);
|
||||||
|
triangle((x1+x2)/2, y1, x2, y2, (x3+x2)/2, (y3+y2)/2, n-1);
|
||||||
|
triangle((x1+x3)/2, (y1+y3)/2, (x2+x3)/2, (y2+y3)/2, x3, y3, n-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
int n;
|
||||||
|
printf("entrez un entier : ");
|
||||||
|
scanf("%d",&n)
|
||||||
|
InitialiserGraphique();
|
||||||
|
CreerFenetre(10, 10, 1000, 800);
|
||||||
|
triangle(10, 790, 990, 790, 500, 10, n);
|
||||||
|
FermerGraphique();
|
||||||
|
}
|
||||||
28
DEV1.1/TP28/chaine.c
Normal file
28
DEV1.1/TP28/chaine.c
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
struct maillon_s {
|
||||||
|
char valeur;
|
||||||
|
struct maillon_s* suivant;
|
||||||
|
};
|
||||||
|
typedef struct maillon_s maillon ;
|
||||||
|
|
||||||
|
void push(char nouv, maillon* debut){
|
||||||
|
maillon* m = (maillon*) malloc (sizeof(maillon));
|
||||||
|
m->valeur = nouv;
|
||||||
|
if (debut == NULL)
|
||||||
|
m->suivant = NULL;
|
||||||
|
else
|
||||||
|
m->suivant = debut;
|
||||||
|
debut = m;
|
||||||
|
}
|
||||||
|
|
||||||
|
void pop(maillon* debut){
|
||||||
|
maillon* m = (maillon*) malloc (sizeof(maillon));
|
||||||
|
m->valeur = nouv;
|
||||||
|
if (debut == NULL)
|
||||||
|
m->suivant = NULL;
|
||||||
|
else
|
||||||
|
m->suivant = debut;
|
||||||
|
debut = m;
|
||||||
|
}
|
||||||
BIN
DEV1.1/felix-vi_CM2.tar.gz
Normal file
BIN
DEV1.1/felix-vi_CM2.tar.gz
Normal file
Binary file not shown.
Reference in New Issue
Block a user