Skip to content
Snippets Groups Projects
Commit 96df0128 authored by chafiol's avatar chafiol
Browse files

gen tab

parent 5b789a25
No related merge requests found
...@@ -4,22 +4,23 @@ ...@@ -4,22 +4,23 @@
#include "utils.h" #include "utils.h"
int main(int argc, char **argv){ int main(int argc, char **argv){
if(argc!=3){ if(argc<3){
printf("Usage: ./tri <option> <input.txt>\n"); printf("Usage: ./tri <option> <input.txt> d \n");
exit(1); exit(1);
} }
long tab[100]; long tab[100];
int n = readToTab(tab, argv[2]);
struct data data; struct data data;
initData(&data); initData(&data);
printf("Base : ");
for(int i = 0; i<n; i++){
printf("%ld,", tab[i]);
}
printf("\n");
if((strcmp(argv[1], "--insertion") == 0) || strcmp(argv[1], "-i")== 0){ if((strcmp(argv[1], "--insertion") == 0) || strcmp(argv[1], "-i")== 0){
int n = readToTab(tab, argv[2]);
printf("Base : ");
for(int i = 0; i<n; i++){
printf("%ld,", tab[i]);
}
printf("\n");
triInsertion(tab, n); triInsertion(tab, n);
printf("Insertion : "); printf("Insertion : ");
for(int i = 0; i<n; i++){ for(int i = 0; i<n; i++){
...@@ -28,6 +29,12 @@ int main(int argc, char **argv){ ...@@ -28,6 +29,12 @@ int main(int argc, char **argv){
printf("\n"); printf("\n");
} }
else if(strcmp(argv[1], "--fusion")== 0 || strcmp(argv[1], "-f")== 0){ else if(strcmp(argv[1], "--fusion")== 0 || strcmp(argv[1], "-f")== 0){
int n = readToTab(tab, argv[2]);
printf("Base : ");
for(int i = 0; i<n; i++){
printf("%ld,", tab[i]);
}
printf("\n");
triFusion(tab, n); triFusion(tab, n);
printf("Fusion : "); printf("Fusion : ");
for(int i = 0; i<n; i++){ for(int i = 0; i<n; i++){
...@@ -36,6 +43,12 @@ int main(int argc, char **argv){ ...@@ -36,6 +43,12 @@ int main(int argc, char **argv){
printf("\n"); printf("\n");
} }
else if((strcmp(argv[1], "--rapide")== 0) || strcmp(argv[1], "-r")== 0){ else if((strcmp(argv[1], "--rapide")== 0) || strcmp(argv[1], "-r")== 0){
int n = readToTab(tab, argv[2]);
printf("Base : ");
for(int i = 0; i<n; i++){
printf("%ld,", tab[i]);
}
printf("\n");
triRapide(tab, n); triRapide(tab, n);
printf("Rapide : "); printf("Rapide : ");
for(int i = 0; i<n; i++){ for(int i = 0; i<n; i++){
...@@ -45,6 +58,12 @@ int main(int argc, char **argv){ ...@@ -45,6 +58,12 @@ int main(int argc, char **argv){
} }
else if (strcmp(argv[1], "-a") == 0) else if (strcmp(argv[1], "-a") == 0)
{ {
int n = readToTab(tab, argv[2]);
printf("Base : ");
for(int i = 0; i<n; i++){
printf("%ld,", tab[i]);
}
printf("\n");
triInsertion(tab, n); triInsertion(tab, n);
printf("Insertion : "); printf("Insertion : ");
for(int i = 0; i<n; i++){ for(int i = 0; i<n; i++){
...@@ -64,8 +83,37 @@ int main(int argc, char **argv){ ...@@ -64,8 +83,37 @@ int main(int argc, char **argv){
} }
printf("\n"); printf("\n");
} }
else if (strcmp(argv[1], "-g") == 0)
{
if(argc<3){
printf("Usage: ./tri -g <output.txt> <size>\n");
exit(1);
}
long *tab;
size_t t = 0;
if(argc==3){
t = NULL;
}
else{
t = atoi(argv[3]);
}
size_t l = 0;
int fd = open(argv[2], O_RDWR | O_CREAT);
tab = generate_tab(t, &l);
dup2(fd, 1);
for(int i = 0; i<t; i++){
printf("%ld ", tab[i]);
}
printf(".");
printf("\n");
close(fd);
// free(tab);
}
else{ else{
printf("Usage: ./tri <option> <input.txt>\n"); printf("Usage: ./tri <option> <input.txt> f\n");
} }
return 0; return 0;
} }
\ No newline at end of file
File deleted
...@@ -40,16 +40,23 @@ void initData(struct data* d){ ...@@ -40,16 +40,23 @@ void initData(struct data* d){
d->write = 0; d->write = 0;
} }
void generate_tab(long* t, int nb){ long* generate_tab(size_t nb, size_t *l){
int taille_tab = 0; long* t;
if(nb == NULL){ size_t taille_tab = 0;
taille_tab = (int)(random()+1)%100; if(l == NULL){
taille_tab = (size_t)(random()+1)%100;
} }
else{ else{
taille_tab = nb; taille_tab = nb;
} }
t = malloc(sizeof(long)*taille_tab);
for(int i = 0; taille_tab<taille_tab; i++){ memset(t, 0, taille_tab);
*l= taille_tab;
size_t i = 0;
for(i = 0; i<taille_tab; i++){
long p = (long)(rand()%1000);
t[i] = p;
} }
return t;
} }
\ No newline at end of file
...@@ -18,4 +18,5 @@ struct data { ...@@ -18,4 +18,5 @@ struct data {
}; };
int readToTab(long* tab, char* file); int readToTab(long* tab, char* file);
void initData(struct data* d); void initData(struct data* d);
\ No newline at end of file long* generate_tab(size_t nb, size_t* l);
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment