М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
gorodchikova23
gorodchikova23
27.01.2020 07:09 •  Информатика

Применение в вычислениях стандартных функций. Виды функций.​


Применение в вычислениях стандартных функций. Виды функций.​

👇
Ответ:
hiopjkokop
hiopjkokop
27.01.2020

Математические

Степень

ABS

Логические

ИЛИ

ЕСЛИ

Финансовые

Цена

Скидка

Статистические

Медиана

Счет

4,7(49 оценок)
Открыть все ответы
Ответ:
Option Explicit

Function Mean2(A As Variant) As Double
    'Возвращает среднее арифметическое элементов двухмерного массива
    Dim i As Integer, j As Integer, S As Variant, n As Integer
    S = 0
    For i = LBound(A, 1) To UBound(A, 1)
        For j = LBound(A, 2) To UBound(A, 2)
            S = S + A(i, j)
        Next j
    Next i
    n = (UBound(A, 1) - LBound(A, 1) + 1) * (UBound(A, 2) - LBound(A, 1) + 1)
    Mean2 = S / n
End Function

Sub InitMas2(A As Variant, amin As Variant, amax As Variant)
    'Инициализирует элементы двухмерного массива датчиком случайных чисел
    'amin и amax задают диапазон часел для инициализации
    Dim i As Integer, j As Integer, typ As Integer, ik As Integer, rk As Single
    Dim imin As Integer, jmin As Integer, imax As Integer, jmax As Integer
    imin = LBound(A, 1)
    imax = UBound(A, 1)
    jmin = LBound(A, 2)
    jmax = UBound(A, 2)
    typ = VarType(A) - 8192
    Select Case typ
    Case 2, 3, 17
        ik = Int(amax - amin + 1)
        For i = imin To imax
            For j = jmin To jmax
                A(i, j) = Int(Rnd * ik + amin)
            Next j
        Next i
    Case Else
        rk = amax - amin + 1
        For i = imin To imax
            For j = jmin To jmax
                A(i, j) = Rnd * rk + amin
            Next j
        Next i
    End Select
End Sub

Sub OutMas(A As Variant, prow As Integer, pcol As Integer)
    'Размещает элементы одномерного массива на текущем листе рабочей книги
    'Ячейка в левом верхнем углу имеет адрес (prow,pcol)
    'Размещение идет по колонке
    Dim i As Integer, ic As Integer
    Dim imin As Integer, imax As Integer
    imin = LBound(A, 1)
    imax = UBound(A, 1)
    ic = prow
    For i = imin To imax
        Cells(ic, pcol).Value = A(i)
        ic = ic + 1
    Next i
End Sub

Sub OutMas2(A As Variant, prow As Integer, pcol As Integer)
    'Размещает элементы двухмерного массива на текущем листе рабочей книги
    'Ячейка в левом верхнем углу имеет адрес (prow,pcol)
    Dim i As Integer, j As Integer, ic As Integer, jc As Integer
    Dim imin As Integer, jmin As Integer, imax As Integer, jmax As Integer
    imin = LBound(A, 1)
    imax = UBound(A, 1)
    jmin = LBound(A, 2)
    jmax = UBound(A, 2)
    ic = prow
    For i = imin To imax
        jc = pcol
        For j = jmin To jmax
            Cells(ic, jc).Value = A(i, j)
            jc = jc + 1
        Next j
        ic = ic + 1
    Next i
End Sub

Sub NumElems2(A As Variant, B() As Integer, pm As Double)
    ' Находит в каждой строке двухмерного массива а количество элементов,
    ' превышающих среднее арифметическое всех элементов этого массива pm
    ' и помещает это количство в одномерный массив b.
    Dim i As Integer, j As Integer, kol As Integer
    Dim imin As Integer, jmin As Integer, imax As Integer, jmax As Integer
    imin = LBound(A, 1)
    imax = UBound(A, 1)
    jmin = LBound(A, 2)
    jmax = UBound(A, 2)
    For i = imin To imax
        kol = 0
        For j = jmin To jmax
            If A(i, j) > pm Then kol = kol + 1
        Next j
        B(i) = kol
    Next i
End Sub

Sub main()
    Const m = 40, n = 20, p = 30
    Dim A(1 To m, 1 To m) As Integer, R(1 To m) As Integer
    Dim B(1 To n, 1 To n) As Single, S(1 To n) As Integer
    Dim C(1 To p, 1 To p) As Integer, T(1 To p) As Integer
    Dim i As Integer, mm As Double
    Randomize Timer
    InitMas2 A, -1000, 1000
    OutMas2 A, 1, 1
    mm = Mean2(A)
    NumElems2 A, R, mm
    OutMas R, 1, m + 2
   
    InitMas2 B, 0, 1800
    OutMas2 B, 42, 1
    mm = Mean2(B)
    NumElems2 B, S, mm
    OutMas S, 42, n + 2
   
    InitMas2 C, -1200, 800
    OutMas2 C, 63, 1
    mm = Mean2(C)
    NumElems2 C, T, mm
    OutMas T, 63, p + 2
End Sub

Особенность программы: позволяет работать с массивами любых допустимых числовых типов. Размер массивов фактически ограничен только размером свободной оперативной памяти компьютера.

Для запуска не забудьте разрешить исполнение макросы на уровне безопасности не выше "Средний" и дать доверенный доступ к проектам VBA.
4,8(97 оценок)
Ответ:
Dailll
Dailll
27.01.2020

Важное замечание: Программа будет работать только при компиляции компилятором, поддерживающим стандарт C99.

#include <stdio.h>

#include <stdlib.h>


int compare(const int* A, const int* B); // компаратор для qsort

int main()

{

   int N;

   

   printf("Введите размер массива: ");

   scanf("%d", &N);

   

   int

       arr[N],

       sum = 0,

       number = 0;

   

   

   for(int i = 0; i < N; i++)

       scanf("%d", &arr[i]);

       

   for(int i = 0; i < N; i++)

       printf("%d ", arr[i]);

   printf("\n");

   for(int i = 0; i < N; i++)

   {

       if(arr[i])

           sum += arr[i];

       if((arr[i] % 3 == 0) && (i % 2 == 0))

           number += 1;

   }

   

   qsort(arr, N, sizeof(int), compare);

   

   for(int i = 0; i < N; i++)

       printf("%d ", arr[i]);

   

   

   printf("\nСумма положительных элементов = %d\n\

   количество элементов, имеющих четные порядковые номера и являющиеся нечетными числами = %d", sum, number);

   return 0;

}


int compare(const int* A, const int* B)

{

   return *A - *B;

}

4,4(69 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ