ενας κωδικας σε C που βγαζει μη αναμενομενο αποτεσμα

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
teresa92
Δημοσιεύσεις: 2
Εγγραφή: 13 Αύγ 2016 16:23

ενας κωδικας σε C που βγαζει μη αναμενομενο αποτεσμα

Δημοσίευση από teresa92 » 13 Αύγ 2016 16:49

καησπερα. προσπαθω να φτιαξω εναν κωδικα σε C . Το προγραμμα δεν τρεχει σωστα και εκτυπωνω με printf σχεδον καθε μεταβλητη για να δω τι παει στραβα .Στην δευτερη φορα που εκτυπωνει μια μεταβλητη epj φαινεται να περνει τιμη 3789 ενω αν κανω στις πραξεις και συμφονα με τις τιμες που φαινεται να εχουν οι αλλες μεταβλητες , ως τη δευτερη επαναληψη, θα επρεπε να παρει τιμη 789 . Ο κωδικας εινα


#include<stdio.h>
#include <math.h>
main()
{
int metriths=5;
int j=14789;
int i=metriths-1;
int y;
int epj=j;
printf("epj=%d\n",epj);
while(i!=0)
{ int dynamh= pow(10,i);
y=(int)(j/dynamh);
printf("y=%d\n",y);
int x=1;
int t=0;
int epy= y;

printf("x=%d\nt=%d\nepy=%d\n",x,t,epy);

while(x<i)
{ int dynamh1=pow(10,(i-t));
printf("dinamh1=%d\n",dynamh1);
int hhh1=epy*dynamh1;
epj=epj-hhh1;


// printf("epj-(epy*dynamh1)=%d\n",(epj-(epy*dynamh1)));
printf("epj=%d\n",epj);

int dynamh2=pow(10,i-x);
int epy=(int)(epj/dynamh2);
printf("epy=%d\n",epy);

int dynamh3=pow(10,i);
int hhh2=y*dynamh3;
int dynamh4=pow(10,i-1);
int hhh3=epy*dynamh4;
int endiam=hhh2+hhh3;
printf("endiam=%d\n",endiam);

int ar_ak=(endiam/dynamh4);
printf("ar_ak=%d\n",ar_ak);

x=x+1;
t=t+1;
}
i=i-1;
}
}
μηπως θα μπορουσε να μου πει καποιος γιατι περνει αυτην την τιμη η μεταβλητη epj τη δευτερη φορα θα με βοηθουσε παρα πολυ αυτο ευχαριστω εκ των προτερων.

teresa92
Δημοσιεύσεις: 2
Εγγραφή: 13 Αύγ 2016 16:23

ενας κωδικας σε C που βγαζει μη αναμενομενο αποτεσμα

Δημοσίευση από teresa92 » 13 Αύγ 2016 22:26

ενταξει μην ασχοληστε το ελυσα το προβλημα (δηλωνα μια ιδια μεταβλητη 2 φορες) εγραξα στην απαντηση γτ δεν ξερω πωσ να ξεποσταρω...

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες