• Дан массив действительных чисел, размерность которого N. Подсчитайте, сколько в нём отрицательных, положительных и нулевых элементов.

Ответы 7

  • Попробуй заменить arr:=new real[n] на строчку SetLength(arr, n);
  • Либо скачай PascalABC.NET, там версия программы, которая в ответе должна запуститься
    • Автор:

      hans2voa
    • 5 лет назад
    • 0
  • Потому что если ты работаешь в турбо паскале, то придется вручную выделять память для массива
  • к примеру так: TYPE TArrayT = array[0.. ((xxxxx) div sizeof(T))-1] of TДалее нужно определить указатель: PArrayT= ^TArrayT;И уже после определить переменную:var P : PArrayT;
    • Автор:

      richards
    • 5 лет назад
    • 0
  • Спасибо, всё заработало)
  • var

     arr: array of real;

     n, null_elem, negative, positive, i: integer;

    begin

     randomize;

     writeln('Введите размерность массива: ');

     readln(n);

     arr:=new real[n];

     null_elem := 0;

     negative := 0;

     positive := 0;

     writeln('Сгенерированный массив: ');

     for i := 0 to n-1 do  

     begin

       arr[i] := random * 98 - 44;

       if (arr[i] = 0) then inc(null_elem);

       if (arr[i] < 0) then inc(negative);

       if (arr[i] > 0) then inc(positive);

       write(arr[i]:10:2);

     end;

     writeln(#10, #10, 'Нулевых элементов: ', null_elem, #10, 'Отрицательных элементов: ', negative, #10, 'Положительных элементов: ', positive);

    end.

  • =sgncalc(диапазон ячеек, -1) - число отрицательных элементов

    =sgncalc(диапазон ячеек, 0) - число нулевых элементов

    =sgncalc(диапазон ячеек, 1) - число положительных элементов

    Function sgncalc(a As Range, signum As Integer) As Integer

    Dim r As Range

    Dim b(-1 To 1) As Integer

    For Each r In a

    b(Sgn(r)) = b(Sgn(r)) + 1

    Next

    sgncalc = b(signum)

    End Function

    Excel VBA

    • Автор:

      rudy60
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years