1 Востаннє редагувалося koala (23.04.2019 06:57:30)

Тема: Чому у виводі максимальний елемент = 0

Підкажіть будь ласка що не правильно роблю і як зробити. Ось умова:
Утворити і вивести масив y з елементами yk=fi+1(k), де і - 7, k=1..12.   f=|sin(2x-1.5)+3sin(x^2)|+2.38  . У разі відсутності шуканих даних, вивести повідомлення про це. Вивести найбільший елемент масиву та номер передостаннього додатного елемента.
(Не розумію чому у виводі максимальний елемент = 0)https://replace.org.ua/uploads/images/9082/c27957a436ad0b50581b8e2e16a26c9e.png

Мова програмування Паскаль; середовище-турбо паскаль

program zhovniriv;
var y:array [1..12] of real;
    k: integer;
    i,x,n:integer;
    f,max:real;
begin
     for k:=1 to 12 do
     begin
     write('введіть елементи масиву');
     read(y[k]);
     i:=7;
     x:=i+1;
     f:=abs(sin(2*x-1.5)+3*sin(sqr(x)))+2.38;
     y[k]:=f*k;
     end;
     y[1]:=max;
     if y[k]>y[1] then y[k]:=max;
     writeln('найбільший елемент масиву=',max:2:1);
end.

2

Re: Чому у виводі максимальний елемент = 0

Будь ласка, не пишіть у чужих темах. І користуйтеся тегами code (кнопка <>).
Присвоєння працює в інший бік -

y[1]:=max;

означає "зробити значення y[1] таким, як і в max", а оскільки max не ініціалізований, от той нулик, що був у max, ви й виводите.

Подякували: Chemist-i, leofun012