Askhsh

Ξεκίνησε από Κώστας.Γ, 05 Μαρ 2013, 04:11:59 ΜΜ

« προηγούμενο - επόμενο »

Κώστας.Γ

να γράψετε πρόγραμμα που να διαβάζει συνεχώς αριθμούς μέχρι να διαβάσει καποιον αρνητικό αριθμό και να βγάζει το μέσο ορό όλων των αριθμών εκτός του αρνητικού

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