partiellement fini

This commit is contained in:
vaisse
2025-10-15 17:57:48 +02:00
parent ceffc9f2bf
commit bf9233b55e
6 changed files with 1038 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
### REPONSES
#### Complexité algorithmique.
pour la fonction triSpecial(): Soit n qui désigne la taille du tableau.
Dans le cas où le nombre de racines carrées est pair, triSpecial() fait appel à une fonction somme qui est d'une complexité linéaire O(n), car le seul argument est le tableau. Une boucle est ensuite réalisée sur un 1 élément sur deux, soit O(n/2), pour faire des affectations.
En supposant que la boucle qui permet de vérifier le nombre de racines carrées se trouve dans la fonction (ce n'est pas le cas ici mais c'est ce qui est demandé dans l'énoncé), on a en plus une complexité O(n/2) sur le tableau.
On a donc l'expression : n/2 + n + n/2.
La complexité est de O(2n).
Dans le cas où le nombre de racines carrées est impair, on a: n * n/2 + n/2 * n/2.
La complexité est de O(3n²/4).
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+999
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -95,6 +95,7 @@ int main(int argc, char**argv){
triSpecial(tableau, nb_racine_carre, count); triSpecial(tableau, nb_racine_carre, count);
Affichage(tableau, nb_racine_carre, count);
free(tableau); free(tableau);
free(buffer); free(buffer);
+27
View File
@@ -0,0 +1,27 @@
#include <stdlib.h>
#include <stdio.h>
#define LIMIT 999
#define BUF_LIM 512
int main(void){
FILE* f = fopen("nombres.txt", "w");
int r;
char* buffer = (char*) malloc(BUF_LIM*sizeof(char));
if(f!=NULL){
for(int i=0; i<LIMIT; i++){
r = rand()%10000;
if(r<0){
printf("%d\n", r);
}
sprintf(buffer,"%d\n",r);
fputs(buffer, f);
}
}
fclose(f);
free(buffer);
return EXIT_SUCCESS;
}