Теги для перехода

обществофилософияжелезокомпьютерыпрограммыпрограммирование

как исправить программу?

программы, компьютеры
program sym5;
var
  arr: array [1..10] of real;
  n1, n, i: integer;
  a: real;
begin
  write('­ нахождение суммы отрицательных элементов второй половины массива ');
  repeat
     write('введите кол-во элементов : ');
     readln(n);
  until (n in [1..10]);
  for i:=1 to n do begin
     write('введите ', i, '-й элемент : ');
     readln(arr[i])
  end;
  n1 := n div 2;
  if ((n mod 2) <> 0) then
     n1:=n1+1;
  a:=0;
  for i:=n1 to n do begin
     if arr[i]<0 then a:=a+arr[i];
  end;
  a:=(trunc(a*10))/10;
  write(a :9);
  readln;
end.

в выходном значении написано число вида " -1.2100000000000E+01 ", когда как должно получиться -12.1
по условию, в выводе должно быть число, я вляющееся суммой отрицательных элементов массива вещественных чисел с точностью до 1 знака после запятой; ограничение на ширину поля вывода результата - 9

ну вообще -1.2100000000000E+01 равно -12.1
попробуй ему сказать, что нужен 1 знак после запятой
кажется это делается так
write(a:9:1);
Вернуться на главную Вернуться в раздел
© 2010 Мод Безукладникова Карта сайта
Hosted by uCoz