Control
This commit is contained in:
97
Racine.c
Normal file
97
Racine.c
Normal file
@@ -0,0 +1,97 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user