Files
CONTROLE_DEV51_dick/Racine.c

97 lines
1.8 KiB
C
Raw Permalink Normal View History

2025-10-15 16:49:12 +02:00
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define CAPACITE 3
int racineCarree(int nombre){
double calcul;
double difference;
if (nombre == 0 || nombre == 1){
return (nombre);
}
calcul = nombre;
do {
difference=calcul;
calcul=0.5 * (calcul + nombre / calcul);
} while (calcul != difference);
// devrait vérifier si c'est entier et return -1 si ce n'est pas le cas
return (calcul);
}
void racineCarreeTab(tableau){
int i;
for(i=0;i<CAPACITE;i++){
tableau[i] = racineCarree(tableau[i]);
}
}
int racineCarreeEntiere(tableau){
int i, racineNonEntiere = 0
for(i=0;i<CAPACITE;i++){
if (tableau[i] == -1){
racineNonEntiere ++;
}
}
if ((racineNonEntiere /2) != 0){
return(1);
}else{
return(0);
}
}
void TriSpecial(tableau){
int i, racineNonEntiere = 0, sommeTableau = 0;
racineNonEntiere = racineCarreeEntiere(); //sous fonction pour chercher la quantite de racine carre non entiere
if (racineNonEntiere == 0){
for(i=0;i<CAPACITE;i++){
sommeTableau = sommeTableau + tableau[i];
}
for(i=0;i<CAPACITE;i++){
if ((i/2) != 0){
tableauTrie[i] = sommeTableau * tableau[i];
}else{
tableauTrie[i] = tableau[i];
}
}
}else{
for(i=0;i<CAPACITE;i++){
sommeTableau = sommeTableau + racineCarree(tableau[i]);
}
for(i=0;i<CAPACITE;i++){
if ((i/2) != 0){
tableauTrie[i] = sommeTableau * tableau[i];
}else{
tableauTrie[i] = racineCarree(tableau[i]);
}
}
}
}
int main(void) {
int tableau[CAPACITE];
int i;
srand(time(NULL));
for(i=0;i<CAPACITE;i++){
tableau[i]=(rand()%101);
}
for(i=0;i<CAPACITE;i++){
printf("%d ", tableau[i]);
}
printf("\n");
racineCarreeTab(tableau);
for(i=0;i<CAPACITE;i++){
printf("%d ", tableau[i]);
}
return EXIT_SUCCESS;
}