ajout du dernier exercice non fonctionnel
This commit is contained in:
93
TriSpecial.c
Normal file
93
TriSpecial.c
Normal file
@@ -0,0 +1,93 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int racineCarree(float nombre) {
|
||||
int pasDeRacine = -1;
|
||||
for(int i = 1; i<nombre-1; i++) {
|
||||
if(nombre/i == i) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return pasDeRacine;
|
||||
}
|
||||
|
||||
int sommeTableau(float tab[], int tablength) {
|
||||
int somme = 0;
|
||||
for (int i = 0; i < tablength; i++) {
|
||||
somme=somme+tab[i];
|
||||
}
|
||||
return somme;
|
||||
}
|
||||
|
||||
int sommeRacineCarreetableau(float tab[], int tablength) {
|
||||
int somme = 0;
|
||||
for (int i = 0; i < tablength; i++) {
|
||||
somme = somme + racineCarree(tab[i]);
|
||||
}
|
||||
return somme;
|
||||
}
|
||||
|
||||
int TypeDeTri(float tab[], int tablength) {
|
||||
int numeroTri, nombreRacineNonEntiere = 0;
|
||||
for (int i = 0; i < tablength; i++) {
|
||||
if (racineCarree(tab[i]) == -1) {
|
||||
nombreRacineNonEntiere++;
|
||||
}
|
||||
}
|
||||
if (nombreRacineNonEntiere % 2 == 0) {
|
||||
numeroTri = 0;
|
||||
}
|
||||
else numeroTri = 1;
|
||||
|
||||
return numeroTri;
|
||||
}
|
||||
|
||||
void TriSpecial(float tab[], int tablength) {
|
||||
float tabApresTri[tablength];
|
||||
TypeDeTri(tab, tablength);
|
||||
|
||||
if (TypeDeTri == 0) {
|
||||
int somme = sommeTableau(tab, tablength);
|
||||
printf("[ ");
|
||||
for (int i = 0; i < tablength; i++) {
|
||||
if (i%2 == 0) {
|
||||
tabApresTri[i] = tab[i];
|
||||
}
|
||||
else tabApresTri[i] = tab[i]*somme;
|
||||
printf("%f, ", tabApresTri[i]);
|
||||
}
|
||||
printf(" ]");
|
||||
}
|
||||
|
||||
else {
|
||||
int somme = sommeRacineCarreetableau(tab, tablength);
|
||||
printf("[ ");
|
||||
for (int i = 0; i < tablength; i++) {
|
||||
if (i%2 == 0) {
|
||||
tabApresTri[i] = racineCarree(tab[i]);
|
||||
}
|
||||
else tabApresTri[i] = tab[i]*somme;
|
||||
printf("%f, ", tabApresTri[i]);
|
||||
}
|
||||
printf(" ]");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int tablength, nombre;
|
||||
printf("Combien d'éléments souhaitez-vous mettre dans votre tableau ? \n");
|
||||
scanf("%d", tablength);
|
||||
|
||||
float tab[tablength];
|
||||
printf("Donnez les nombres : \n");
|
||||
|
||||
for (int i = 0; i < tablength; i++) {
|
||||
scanf("%f", &nombre);
|
||||
tab[i] = nombre;
|
||||
}
|
||||
|
||||
TriSpecial(tab, tablength);
|
||||
|
||||
}
|
Reference in New Issue
Block a user