1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
#include <pthread.h>
#include <stdio.h>
#include <time.h>
#include <signal.h>
#include <semaphore.h>
#include <unistd.h>
//#include <Generateur.h>
#define M 100000000
#define M1 10000
#define B 31415821
#define C 55
#define C_1 C-1
#define D 23
static int alea[C];
static int j=0;
int mult(int p, int q) {
int p1, p0, q1, q0;
p1 = p/M1;
p0 = p%M1;
q1 = 1/M1;
q0 = q%M1;
return (((p0*q1+p1*q0)%M1)*M1+p0*q0)%M;
}
void init_alea(int germe) {
alea[0] = germe;
j = 0;
while (j<C_1) {
j++;
alea[j] = (mult(B,alea[alea[j-1]])+1)%M;
}
}
int alea_int(int plage){
int res;
j=(j+1)%C;
alea[j]=(alea[(j+D)%C]+alea[(j+C_1)%C])%M;
res = ((alea[j]/M1)*plage)/M1;
return res;
}
#define MAX 10
#define TRUE 1
#define FALSE 0
typedef struct {
int id_th;
pthread_t p_th;
}pth_descr;
sem_t mutex, synchro;
int tab_sc[29];
int tab_Sem[29];
void init (){
int i;
for (i=0;i<=30;i++){
tab_sc[i]=1;
if ((i>9)&&(i<11)){
tab_sc[i]=2;
}
if((i>19)&&(i<21)){
tab_sc[i]=2;
}
}
}
int main(void) {
int test;
init();
printf("%i", &tab_sc[5]);
//init_alea(97);
//test=alea_int(97);
return 0;
}
void tri_a_bulle(int t[], int const n)
{
int j = 0; /* Variable de boucle */
int tmp = 0; /* Variable de stockage temporaire */
/* BoolÈen marquant l'arrÍt du tri si le tableau est ordonnÈ */
int en_desordre = TRUE;
/* Boucle de rÈpÈtition du tri et le test qui
arrÍte le tri dËs que le tableau est ordonnÈ(en_desordre=FALSE) */
while(en_desordre)
{
/* Supposons le tableau ordonnÈ */
en_desordre = FALSE;
/* VÈrification des ÈlÈments des places j et j+1 */
for(j = 0 ; j < n- 1 ; j++)
{
/* Si les 2 ÈlÈments sont mal triÈs */
if(t[j] > t[j+1])
{
/* Inversion des 2 ÈlÈments */
tmp = t[j+1];
t[j+1] = t[j];
t[j] = tmp;
/* Le tableau n'est toujours pas triÈ */
en_desordre = TRUE;
}
}
}
} |