να γράψετε πρόγραμμα που να διαβάζει συνεχώς αριθμούς μέχρι να διαβάσει καποιον αρνητικό αριθμό και να βγάζει το μέσο ορό όλων των αριθμών εκτός του αρνητικού
Program arithmoi;
var x,i,a:real;
begin
writeln('Dwse arithmo');
readln(x);
i:=0;
a:=0;
while x<0 do
begin
i:=i+1;
readln(x);
a:=a+x
end;
writeln('o mesos oros einai :',a/i);
end.
κατά την εκτέλεση μου βγάζει runtime error 207 που είναι το πρόβλημα?
Το πρόβλημα είναι ότι έχεις λάθος συνθήκη στη while. Η συνθήκη σου σημαίνει ότι "όσο το x<0 επανάλαβε". Εσύ δίνεις αρχικά μη αρνητικό αριθμό, επομένως δεν μπαίνει στο βρόχο της while, και εκτελείται στη συνέχεια η τελευταία εντολή. Εκεί λοιπόν έχεις διαίρεση με το μηδέν!
euxaristo tora douleuei