Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα!Η εκφώνηση της άσκησης είναι: Να υπολογιστεί το άθροισμα: S1=1/1^2 - 1/2^2 + 1/3^2 - 1/4^2 + 1/5^2 - 1/6^2......μέχρι το 1/100^2.Ο αλγόριθμος που έχω υλοποιήσει μου δίνει αποτέλεσμα 1.000000...Παραθέτω τον κώδικα για να μου πείτε που έχω κάνει λάθος..

 

 

#include<stdio.h>
int main(void)
{
double S1=0.0;
int i=1;
while (i<101)
{
if(i%2==0)
S1=S1-1/(i*i);
else
S1=S1+1/(i*i);
i++;
}
printf("%f",S1);
return 0;
}
Δημοσ.

Το έκανα και μου βγάζει αποτέλεσμα 1.634984...Άλλαξα και στην συνθήκη if το % σε /...Η συνθήκη στο while είναι σωστή? πχ αν αλλάξω την συνθήκη μόνο και μόνο για να δω αν δουλέυει σωστά και την βάλω while (i<3),το αποτέλεσμα θα πρέπει να είναι 0.75  όμως ο DEV C++ μου βγάζει αποτέλεσμα 1.250000...

Δημοσ.

Δεν λειτουργεί σωστά....Για να το δούμε πιο απλά εγώ θα υπολογίσω το S1=1/1^2 - 1/2^2..ο κώδικας από κάτω μου βγάζει αποτέλεσμα -1.000000....

 

 

#include<stdio.h>
int main(void)
{
double S1=0.0;
int i=1;
for(i=1;i<=2;i++)
{
if(i/2==0)
S1=S1-(1.0/(i*i));
else
S1=S1+(1.0/(i*i));
i++;
}
printf("%f",S1);
return 0;
}

Ενώ θα έπρεπε να βγάζει αποτέλεσμα 0.75 ...

Δημοσ.

Λάθος δικό μου στον κώδικα το i++ είναι άκυρο...όμως γιατί δεν μου βγάζει 0.75 και μου βγάζει -0.75?? το - από πού προκύπτει?


Μα το 0.8222 είναι λάθος έτσι δεν είναι?? αφού 1-0.25=0.75 ....

Δημοσ.

Λάθος δικό μου στον κώδικα το i++ είναι άκυρο...όμως γιατί δεν μου βγάζει 0.75 και μου βγάζει -0.75?? το - από πού προκύπτει?

Μα το 0.8222 είναι λάθος έτσι δεν είναι?? αφού 1-0.25=0.75 ....

για μεχρι 100 ενοουσα.

Το i/2 kanto i%2

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...