Skip to content
Snippets Groups Projects
Commit dfe49550 authored by simazenoux's avatar simazenoux
Browse files

Premier commit

parents
No related branches found
No related tags found
No related merge requests found
C10/main 0 → 100755
File added
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
typedef struct ligne{
char * nom ;
char * language;
int annee;
}ligne_t;
typedef struct noeud{
int cle;
struct noeud * gauche;
struct noeud * droit;
} noeud_t;
void fonction1(int nbVariables, ... ){
va_list args;
va_start(args, nbVariables);
while (nbVariables--){
printf("%c",va_arg(args, char *));
}
va_end(args);
}
void insertion_arbre(noeud_t * arbre, noeud_t noeud){
while (arbre){
if (arbre->cle < noeud.cle){
arbre = arbre->gauche;
}
else{
arbre = arbre->droit;
}
}
arbre = &noeud;
}
int main()
{
int i;
ligne_t tableau[20];
for(i=0; i<20; i++){
tableau[i].nom = malloc(2*sizeof(char));
tableau[i].language = malloc(2*sizeof(char));
strcpy(tableau[i].nom, "a");
strcpy(tableau[i].language, "a");
tableau[i].annee = 1955 + i;
}
for (i=0; i<20; i++){
printf("%s %s %d", tableau[i].nom, tableau[i].language, tableau[i].annee);
}
struct dirent * lecture;
DIR *rep;
rep = opendir(".");
while ((lecture = readdir(rep))) {
printf("%s\n", lecture->d_name);
}
fonction1(2, "tp1", "tp2");
closedir(rep);
//Partie 3
noeud_t * arbre;
noeud_t * noeud;
int t[8] = {10, 5, 13, 7, 15, 3, 9, 1};
for (i=0; i<8; i++){
noeud = malloc(sizeof(noeud_t));
noeud->cle = t[i];
noeud->gauche = NULL;
noeud->droit = NULL;
insertion_arbre(arbre, *noeud);
}
}
C10/main1 0 → 100755
File added
C1A @ 3cc9e451
Subproject commit 3cc9e45186f91d51d03821c88f4b611f1c70ef77
C1B @ 14cdca13
Subproject commit 14cdca13fb69af0947cdabb49045e6057614f6b7
C2/exo1 0 → 100755
File added
#include <stdio.h>
int main()
{
int i , *ptri = &i;
char c1 = '1', *ptrc1 = &c1;
char c2 = '2', *ptrc2 = &c2;
char *ptrc;
double d1 = 1.0, *ptrd1 = &d1;
printf(" ptri = %p ptrc1 = %p ptrd1=%p\n",ptri, ptrc1);
printf("*ptri = %d *ptrc1 = %c *ptrd1=%lf\n", *ptri, *ptrc1, *ptrd1);
printf("&ptri = %x &ptrc1 = %x &ptrd1=%x\n", &ptri, &ptrc1, &ptrd1);
d1+=2;
printf("Value incrementee : *ptrd1=%lf\n\n", *ptrd1);
printf("Travail sur les caractères:\n");
printf("c1 = %c c2 = %c\n\n", *ptrc1, *ptrc2);
ptrc = ptrc1;
ptrc1 = ptrc2;
ptrc2 = ptrc;
printf("c1 = %c c2 = %c\n\n", *ptrc1, *ptrc2);
ptri++;
ptrc1++;
printf("ptri = %u ptrc1 = %d \n",ptri, ptrc1);
// cela permet de voir la taille d'un int et d'un char en memoire
// sizeof(int) sizeof(char)
return 0 ;
}
C2/exo2 0 → 100755
File added
#include <stdio.h>
void echangeParValeur(int a, int b){
int buffer;
printf("a=%d, b=%d\n", a, b);
buffer = a;
a = b;
b = buffer;
printf("a=%d, b=%d\n", a, b);
}
void echangeParAdresse(int *a, int *b){
int buffer;
buffer = *a;
*a = *b;
*b = buffer;
}
int main(){
int i=0;
int j=1;
// echangeParValeur(i, j);
printf("a=%d, b=%d\n", i, j);
echangeParAdresse(&i, &j);
printf("a=%d, b=%d\n", i, j);
}
\ No newline at end of file
C2/exo3-1 0 → 100755
File added
#include <stdio.h>
int main()
{
int tab[] = {0,1,2,3,4,5};
printf("%lu %lu %lu\n", sizeof(char), sizeof(int), sizeof(double));
int * p1;
char * p2;
p1 = tab;
++p1;
printf("%d ", *p1);
p2 = (char *) p1;
p2 += sizeof(int);
printf("%d", *((int*)p2));
printf("%d", *(p1+6));
p1 = NULL;
// printf("%d", *p1);
return 0;
}
\ No newline at end of file
C2/exo3-2 0 → 100755
File added
#include <stdio.h>
int compter1(char * chaine)
{
int i = 0;
while (*(chaine+i) != '\0')
++i;
return i;
}
int compter2(char * chaine)
{
char * s = chaine;
while (*chaine != '\0')
++chaine;
return chaine - s;
}
int compter3(char * chaine)
{
char * s = chaine;
while (*chaine++);
return chaine - s;
}
int main(){
printf("%d %d %d\n",compter1("SALUT"), compter2("SALUT"), compter3("SALUT"));
}
\ No newline at end of file
C2/exo4 0 → 100755
File added
#include <stdio.h>
#include <string.h>
void saisir(char * s)
{
printf("Saisir une chaine\n");
scanf("%s", s);
}
int main()
{
char s[40];
printf("Entrer votre prenom. ");
saisir(s);
printf("Bonjour %s!\n", s);
if (!strcmp(s, "ddd")) printf("bizarre \n");
return 0;
}
\ No newline at end of file
C2/exo5 0 → 100755
File added
#include <stdio.h>
#include <stdlib.h>
#define N 1000000
int main(){
int i;
double *tab;
tab = malloc(N*sizeof(double));
for (i=0; i<N; i++){
*(tab+i) = (double) i*i;
}
// for (i=0; i<N; i++){
// printf("%lf\n", *(tab+i));
// }
free(tab);
}
\ No newline at end of file
#include <stdio.h>
int main(){
FILE * fichier;
fichier = fopen("nom_du_fichier", "r");
if (fichier) {
printf("on peut lire le fichier\n");
// utilisation
// fclose(fichier);
} else printf("on ne peut pas l'utiliser\n");
return 0;
}
\ No newline at end of file
File added
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NB 15
int guichet_A;
int guichet_B;
int guichet_C;
int guichet_D;
int guichet_E;
int guichet_F;
int guichet_G;
int guichet_H;
int guichet_I;
int guichet_J;
int guichet_K;
int guichet_L;
int guichet_M;
int guichet_N;
int guichet_O;
void initialiser(int *tab){
int i;
// Valeur aléatoire entre 0 et 2
int random = rand() % NB;
for (i=0; i< NB; i++){
if (i == random){
tab[i]= 1;
}
else{
tab[i] = 0;
}
}
}
void afficherGuichetsOuverts(int *tab){
int i;
for (i=0; i<NB; i++){
if (tab[i] == 1) {
printf("guichet_%c est ouvert\n", i+'A');
}
}
}
int main(){
int * tab[NB];
tab[0] = &guichet_A;
tab[1] = &guichet_B;
tab[2] = &guichet_C;
tab[3] = &guichet_D;
tab[4] = &guichet_E;
tab[5] = &guichet_F;
tab[6] = &guichet_G;
tab[7] = &guichet_H;
tab[8] = &guichet_I;
tab[9] = &guichet_J;
tab[10] = &guichet_K;
tab[11] = &guichet_L;
tab[12] = &guichet_M;
tab[13] = &guichet_N;
tab[14] = &guichet_O;
srand(time(0));
initialiser(*tab);
afficherGuichetsOuverts(*tab);
return 0;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment