.
This commit is contained in:
		
							
								
								
									
										5
									
								
								bac2/os/chap0/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								bac2/os/chap0/build.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
for i in $(ls *.c); do
 | 
			
		||||
	gcc $i -o $(echo $i | cut -d '.' -f 1)
 | 
			
		||||
done
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/chapitre0.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/chapitre0.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/ex1
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/ex1
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										18
									
								
								bac2/os/chap0/ex1.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								bac2/os/chap0/ex1.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
unsigned int string_length(char string[]);
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	printf("%d", string_length("test"));
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unsigned int string_length(char string[]){
 | 
			
		||||
	int i = 0;
 | 
			
		||||
	while(string[i] != '\0'){
 | 
			
		||||
		i++;
 | 
			
		||||
	}
 | 
			
		||||
	return i;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/ex2
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/ex2
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										22
									
								
								bac2/os/chap0/ex2.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								bac2/os/chap0/ex2.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void capitalize(char string[]);
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	char test[] = "test";
 | 
			
		||||
	printf("%s\n", test);
 | 
			
		||||
	capitalize(test);
 | 
			
		||||
	printf("%s\n", test);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void capitalize(char string[]){
 | 
			
		||||
	int i = 0;
 | 
			
		||||
	while(string[i] != '\0'){
 | 
			
		||||
		string[i] = string[i] + 'A' - 'a';
 | 
			
		||||
		i++;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/ex3
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/ex3
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								bac2/os/chap0/ex3.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								bac2/os/chap0/ex3.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void replace(char string[], char target, char replacement);
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	char test[] = "test";
 | 
			
		||||
	printf("%s\n", test);
 | 
			
		||||
	replace(test, 'e', 'a');
 | 
			
		||||
	printf("%s\n", test);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void replace(char string[], char target, char replacement){
 | 
			
		||||
	int i = 0;
 | 
			
		||||
	while(string[i] != '\0'){
 | 
			
		||||
		if(string[i] == target){
 | 
			
		||||
			string[i] = replacement;
 | 
			
		||||
		}
 | 
			
		||||
		i++;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/ex4
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/ex4
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										26
									
								
								bac2/os/chap0/ex4.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								bac2/os/chap0/ex4.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void delete(char string[], char target);
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	char test[] = "test test";
 | 
			
		||||
	printf("%s\n", test);
 | 
			
		||||
	delete(test, 'e');
 | 
			
		||||
	printf("%s\n", test);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void delete(char string[], char target){
 | 
			
		||||
	int i = 0, offset = 0;
 | 
			
		||||
	while(string[i] != '\0'){
 | 
			
		||||
		if(string[i+offset] == target){
 | 
			
		||||
			offset++;
 | 
			
		||||
		}
 | 
			
		||||
		string[i] = string[i+offset];
 | 
			
		||||
		i++;
 | 
			
		||||
	}
 | 
			
		||||
	string[i] = '\0';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/ex5
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/ex5
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										22
									
								
								bac2/os/chap0/ex5.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								bac2/os/chap0/ex5.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <math.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void print_type_stats();
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	print_type_stats();
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void print_type_stats(){
 | 
			
		||||
	printf("int -> %.f\n", pow(2, (sizeof(int) * 8)));
 | 
			
		||||
	printf("uint -> %.f\n", pow(2, (sizeof(unsigned int) * 8)));
 | 
			
		||||
	printf("short -> %.f\n", pow(2, (sizeof(short) * 8)));
 | 
			
		||||
	printf("long -> %.f\n", pow(2, (sizeof(long) * 8)));
 | 
			
		||||
	printf("float -> %.f\n", pow(2, (sizeof(float) * 8)));
 | 
			
		||||
	printf("double -> %.f\n", pow(2, (sizeof(double) * 8)));
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/ex6
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/ex6
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										23
									
								
								bac2/os/chap0/ex6.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								bac2/os/chap0/ex6.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
unsigned int count_char_occurence(char string[], char target);
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	char test[] = "test test";
 | 
			
		||||
	printf("%s -> %d\n", test, count_char_occurence(test, 't'));
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unsigned int count_char_occurence(char string[], char target){
 | 
			
		||||
	int i = 0, ret = 0;
 | 
			
		||||
	while(string[i] != '\0'){
 | 
			
		||||
		if(string[i] == target){
 | 
			
		||||
			ret++;
 | 
			
		||||
		}
 | 
			
		||||
		i++;
 | 
			
		||||
	}
 | 
			
		||||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/ex7
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/ex7
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										37
									
								
								bac2/os/chap0/ex7.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								bac2/os/chap0/ex7.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,37 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
unsigned int count_word_occurence(char string[], char target[]);
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	char test[] = "I am a test and im diggin a test... diggy diggy test...";
 | 
			
		||||
	printf("%s -> %d\n", test, count_word_occurence(test, "test"));
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unsigned int count_word_occurence(char string[], char target[]){
 | 
			
		||||
	int sizeoftarget = 0;
 | 
			
		||||
	while(target[sizeoftarget] != '\0'){
 | 
			
		||||
		sizeoftarget++;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	int i = 0, ret = 0;
 | 
			
		||||
	while(string[i] != '\0'){
 | 
			
		||||
		if(string[i] == target[0]){
 | 
			
		||||
			int check = 0;
 | 
			
		||||
			for (int j = 0; j < sizeoftarget; ++j) {
 | 
			
		||||
				if(target[j] == string[i+j]){
 | 
			
		||||
					continue;
 | 
			
		||||
				}
 | 
			
		||||
				check = 1;
 | 
			
		||||
			}
 | 
			
		||||
			if(!check){
 | 
			
		||||
				ret++;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		i++;
 | 
			
		||||
	}
 | 
			
		||||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chap0/ex8
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chap0/ex8
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										34
									
								
								bac2/os/chap0/ex8.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								bac2/os/chap0/ex8.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void print_histogram(char string[]);
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	char test[] = "I am a test and im diggin a test... diggy diggy test...";
 | 
			
		||||
	printf("%s\n",test);
 | 
			
		||||
	print_histogram(test);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void print_histogram(char string[]){
 | 
			
		||||
	char num_letters['z' - 'a'];
 | 
			
		||||
	for(char i = 0; i <= 'z' - 'a'; i++){
 | 
			
		||||
		num_letters[i] = 0;
 | 
			
		||||
	}
 | 
			
		||||
	char i = 0;
 | 
			
		||||
	while(string[i] != '\0'){
 | 
			
		||||
		if(string[i] >= 'a' && string[i] <= 'z'){
 | 
			
		||||
			num_letters[string[i]-'a']++;
 | 
			
		||||
		}
 | 
			
		||||
		i++;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for(char i = 0; i <= 'z' - 'a'; i++){
 | 
			
		||||
		if(num_letters[i] != 0){
 | 
			
		||||
			printf("%c -> %d\n", i + 'a', num_letters[i]);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								bac2/os/chap1/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								bac2/os/chap1/build.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
for i in $(ls *.c); do
 | 
			
		||||
	gcc $i -o $(echo $i | cut -d '.' -f 1)
 | 
			
		||||
done
 | 
			
		||||
							
								
								
									
										1
									
								
								bac2/os/chap1/ex1.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								bac2/os/chap1/ex1.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bac2/os/chapitre1-evenements.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bac2/os/chapitre1-evenements.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user