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

gen tab

parent 5b789a25
Branches
No related merge requests found
......@@ -4,22 +4,23 @@
#include "utils.h"
int main(int argc, char **argv){
if(argc!=3){
printf("Usage: ./tri <option> <input.txt>\n");
if(argc<3){
printf("Usage: ./tri <option> <input.txt> d \n");
exit(1);
}
long tab[100];
int n = readToTab(tab, argv[2]);
struct data 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){
int n = readToTab(tab, argv[2]);
printf("Base : ");
for(int i = 0; i<n; i++){
printf("%ld,", tab[i]);
}
printf("\n");
triInsertion(tab, n);
printf("Insertion : ");
for(int i = 0; i<n; i++){
......@@ -28,6 +29,12 @@ int main(int argc, char **argv){
printf("\n");
}
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);
printf("Fusion : ");
for(int i = 0; i<n; i++){
......@@ -36,6 +43,12 @@ int main(int argc, char **argv){
printf("\n");
}
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);
printf("Rapide : ");
for(int i = 0; i<n; i++){
......@@ -45,6 +58,12 @@ int main(int argc, char **argv){
}
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);
printf("Insertion : ");
for(int i = 0; i<n; i++){
......@@ -64,8 +83,37 @@ int main(int argc, char **argv){
}
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{
printf("Usage: ./tri <option> <input.txt>\n");
printf("Usage: ./tri <option> <input.txt> f\n");
}
return 0;
}
\ No newline at end of file
File deleted
......@@ -40,16 +40,23 @@ void initData(struct data* d){
d->write = 0;
}
void generate_tab(long* t, int nb){
int taille_tab = 0;
if(nb == NULL){
taille_tab = (int)(random()+1)%100;
long* generate_tab(size_t nb, size_t *l){
long* t;
size_t taille_tab = 0;
if(l == NULL){
taille_tab = (size_t)(random()+1)%100;
}
else{
taille_tab = nb;
}
for(int i = 0; taille_tab<taille_tab; i++){
t = malloc(sizeof(long)*taille_tab);
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 {
};
int readToTab(long* tab, char* file);
void initData(struct data* d);
\ No newline at end of file
void initData(struct data* d);
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