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

Προβλημα με C


Vasilis_nakos

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

Καλησπερα παιδια εχω ενα προβλημα με το προγραμμα dev c++ και δεν μπορω να αποθηκευσω αρχειο .c σε φακελο.Εμφανιζει αυτο το σφαλμα που βλεπετε στην εικονα και μετα δεν μπορω να κανω compile η save πουθενα.Τι μπορω να κανω για να το φτιαξω;900290955_2020-10-24(2).png.16dd1419bca2675d8a47a3dabd650d59.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 1 μήνα μετά...

Πολλαπλασιάζεις τον αριθμό με τον ευατό του και έχεις τον αριθμό αυτό στο τετράγωνο. Αντιστοίχως τον πολλαπλασιάζεις αντίστοιχες φορές ανάλογα με το ύψος της δύναμης.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν η δύναμη είναι ακέραιος αριθμός, μου αρέσει να χρησιμοποιώ αναδρομή, έτσι:

double power(double base, unsigned exp)
{
    double partial = (exp != 0 ? power(base, exp/2) : 1);
    return partial*partial*(exp % 2 == 1 ? base : 1);
}

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

13 ώρες πριν, GReaperEx είπε

Αν η δύναμη είναι ακέραιος αριθμός, μου αρέσει να χρησιμοποιώ αναδρομή, έτσι:


double power(double base, unsigned exp)
{
    double partial = (exp != 0 ? power(base, exp/2) : 1);
    return partial*partial*(exp % 2 == 1 ? base : 1);
}

 

δεν τα έχουμε μαθει ακομη τα παραπανω ..οποτε δεν μπορω να τα γραψω

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

image.png.f7604d7b69847faae87915d4401eb682.png

 

αυτο ειναι το προγραμμα που πρεπει να φτιαξω..αν μπορει καποιος να βοηθησει .... την δουλεύω 2 μέρες τώρα και δεν μπορώ να την βγάλω..δυστυχώς δεν είχαμε κάνει με τον καθηγητή αντίστοιχο παράδειγμα...

Επεξ/σία από mariamx83
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
#include <stdio.h>
int main()
{
     int a = -2 , b = -7;
    double result = 0;
    if( (a == 0 && b == 0 ) || (a == 0 && b > 0) )
    {
        result = 0;
    }
    else if( (a > 0 && b == 0) || (a < 0 && b == 0) )
    {
        result = 1;
    }
    else if(a != 0 && b != 0)
    {
        if(b > 0)
        {
            result = (double)a;
            for(int i = 2;i<=b;i++)
            {
                result = result * (double)a;
            }
        }
        else
        {
            result = (double)a;
            for (int i = b; i <= 0; i++)
            {
                result = result / (double)a;
            }
        }

    }
    printf("%f" , result);
    return 0;
}

 

Επεξ/σία από dhmm
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 ώρα πριν, dhmm είπε

#include <stdio.h>
int main()
{
     int a = -2 , b = -7;
    double result = 0;
    if( (a == 0 && b == 0 ) || (a == 0 && b > 0) )
    {
        result = 0;
    }
    else if( (a > 0 && b == 0) || (a < 0 && b == 0) )
    {
        result = 1;
    }
    else if(a != 0 && b != 0)
    {
        if(b > 0)
        {
            result = (double)a;
            for(int i = 2;i<=b;i++)
            {
                result = result * (double)a;
            }
        }
        else
        {
            result = (double)a;
            for (int i = b; i <= 0; i++)
            {
                result = result / (double)a;
            }
        }

    }
    printf("%f" , result);
    return 0;
}

 

δεν βγαίνει σωστα...σε όλες αυτες τις περιπτωσεις βγαζει 0,008

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

14 λεπτά πριν, mariamx83 είπε

δεν βγαίνει σωστα...σε όλες αυτες τις περιπτωσεις βγαζει 0,008

Το τεσταρα σε online debugger. Εμένα μου εμφάνιζε σωστά. Ξεκίνα και κανε τα ένα-ένα και πες μου αποτέλεσμα. Στείλε screenshot.. Ποιο IDE έχεις ;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 λεπτό πριν, dhmm είπε

Το τεσταρα σε online debugger. Εμένα μου εμφάνιζε σωστά. Ξεκίνα και κανε τα ένα-ένα και πες μου αποτέλεσμα. Στείλε screenshot.. Ποιο IDE έχεις ;

το dev C++ έχω , δουλευει οκ αλλά αν βάλω εκέι το printf μετά μου εμφανίζει λαθος μήνυμα στα υπόλοιπα...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

20 λεπτά πριν, mariamx83 είπε

το dev C++ έχω , δουλευει οκ αλλά αν βάλω εκέι το printf μετά μου εμφανίζει λαθος μήνυμα στα υπόλοιπα...

Εγω να φανταστείς το έγραψα σε C# και οσο απλό μπορούσα και μετά online test και έστειλα. Απο την αρχή έγραψα με αναδρομή. Μόλις είδα ότι δεν θες το άλλαξα. Βάλε debugging και δες πως αλλάζει η τιμή. Διότι κάνει στρογγυλοποίηση. το -0,0078125 μάλλον το κάνει 0,008. Για βάλε στην printf 

printf("%.*f",5, result);

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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