Aide en C

youyou2014 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
samossaad Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,



#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{

float T[366];
float N[366];
int i;
for(i=0;i<366;i++)
{ T[i]=23.45*sin(0.986*(i+284)*(3.1415/180));}
float Ta[37];
int j=0,k=0;float s=0;
for(i=0;i<366;i++)
{
s=s+T[i];
if(j==10)
{ Ta[k]=s/11;
s=0;
k=k+1;
j=0;}
j=j+1;}
Ta[k]=s/6;
printf("dec= %f",T[1]);
for(i=0;i<36;i++)
printf("\n moyenne= %f",Ta[i]);
for(i=0;i<366;i++)
N[i]=acos(-tan(T[i]*(3.1415/180))*tan (30.93*(3.1415/180)));
printf("\n N= %f",N[1]);
getch();}


svp je veux un resultat en degré pour N[i]
comment peut on faire
T[i] sa marche bien je reçois en degré

2 réponses

scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Conversion d'angles : (source : https://forums.commentcamarche.net/forum/affich-1711371-convertir-radians-en-degre )

Angle en radian = pi * (angle en degré) / 180
Angle en radian = pi * (angle en grade) / 200


Angle en grade = 200 * (angle en degré) / 180
Angle en grade = 200 * (angle en radian) / pi


Angle en degré = 180 * (angle en radian) / pi
Angle en degré = 180 * (angle en grade) / 200
"The most successful method of programming is to begin a program as simply as possible, test it, and then add to the program until it performs the required job." -- PDP8 handbook, Pg 9-64
0
youyou2014 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
comme vous voyez c'est deja fait mais ça donne pas le resultat convenable :s
0
samossaad Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   1
 
je crois que ta déclaration de tableau a déjà des problèmes :

- float T[366] // ton tableau commence de T[0] à T[366] ce qui fait 367 valeur que tu veux remplir
par cette syntaxe :

for(i=0;i<366;i++)
{ T[i]=23.45*sin(0.986*(i+284)*(3.1415/180));}

//cette boucle ne remplis pas tout ton tableau donc ta case T[366] ne comporte rien. Tu dois faire ça
for(i=0;i<367;i++) pour remplir de T[0] à T[366]

essaie d'abord de voir si le problème ne vient pas de là et tient moi au courant



-Ensuite même chose pour ton tableau Ta[37].....il commence de Ta[0] jusqu'à Ta[37] ce qui fait
38 éléments => pourtant tu utilise après une boucle de

for(i=0;i<36;i++) qui va aller de (0 à 35) pour afficher les moyennes à moins que le reste ne contient rien et si c'est le cas c'est du gaspillage donc je te conseil de revoir la taille de ton tableau..
0