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

Нужна в переводе программ с языка pascal в vba 1)в целочисленной последовательности есть нулевые элементы. создать массив из номеров этих элементов. a, b : array [1..1000] of integer; n, m, i : integer; begin read (n); for i : = 1 to n do read (a[i]); m : = 0; for i : = 1 to n do if a[i] = 0 then begin m : = m + 1; b[m] : = i; end; for i : = 1 to m do write (b[i], ' '); end. 2)элементарные операции с матрицами: (a^2+e)*6, а-произвольная матрица, е-единичная матрица

👇
Ответ:
shidiemmacom1
shidiemmacom1
23.04.2021
Sub num1()
    s = 0
    n = CInt(InputBox("N ="))
    Range(Cells(1, 1), Cells(2 * (n + 2), n + 2)).Clear
    ReDim A(n - 1)
    ReDim B(n - 1)

    k = 1
    Cells(k, 1).Value = "A"
    Cells(k + 2, 1).Value = "B"
    k = k + 1

    m = -1
    For i = LBound(A, 1) To UBound(A, 1)
        A(i) = Round(Rnd * 10) - 5
        Cells(k, 1 + i).Value = A(i)
        If A(i) = 0 Then
            m = m + 1
            B(m) = i
            Cells(k + 2, m + 1).Value = B(m)
        End If
    Next
End Sub

Sub num2()
    n = 16
    ReDim A(n, n), C(n, n), E(n, n)
    Range(Cells(1, 1), Cells(2 * (n + 2), n + 2)).Clear

    k = 1
    Cells(k, 1).Value = "Init"
    
    k = k + 1
    Cells(k + n + 1, 1).Value = "Result"

    For i = 0 To n
        For j = 0 To n
            A(i, j) = Round(Rnd * 10)
            Cells(k + i, j + 1).Value = A(i, j)

            If i = j Then E(i, j) = 1 Else E(i, j) = 0

            C(i, j) = 0
            For r = 0 To n
                C(i, j) = C(i, j) + A(i, r) * A(r, j)
            Next

            x = 6 * (C(i, j) + E(i, j))
            Cells(k + n + 2 + i, j + 1).Value = x
        Next
    Next
End Sub
4,8(1 оценок)
Открыть все ответы
Ответ:
maxim199431
maxim199431
23.04.2021
Лови тут и шифратор и дешифратор 
Var X : Array [1..20, 1..20] Of integer; M, N  : Integer; //M - столбцы, N - строки i, j  : Integer; //i, j - параметры циклов p: integer;   Procedure vvod (var X: Array [1..20, 1..20] Of byte); begin For i := 1 To N Do For j := 1 To M Do Begin Write ('X[', i, ',', j, '] = '); ReadLn(X[i,j]); End; end; Procedure print (X: Array [1..20, 1..20] Of byte); begin for i :=1 to N do begin    for j :=1 to M do       write ( X [ i , j ]:4);    writeln ; end; end; Begin WriteLn ('Ввод элементов.'); Write ('Число строк: '); ReadLn (N); Write ('Число столбцов: '); ReadLn (M); WriteLn ('Введите поочередно элементы матрицы:'); vvod(X); print(x); ReadLn; End.
4,6(18 оценок)
Ответ:
Ggg7376
Ggg7376
23.04.2021
Идея алгоритма заключается в том, что для проверки корректности строки мы заводим стек, содержащий в себе открывающие скобки.
Посмотрим конкретно на вашем примере:)
1+5+(321-54*[321-321]+21)
Мы идём слева-направо, откидывая все символы, не являющиеся скобками, поскольку они нас не интересуют (как это было указано в вашем условии, почему я это и уточнял)
Затем, натыкаясь на открывающую скобку, добавляем её в стек.
В нашем стеке: "("
Идём дальше, находим открывающую квадратную скобку, кладём в стек
В нашем стеке: "(["
Дальше видим закрывающую квадратную скобку, т.к. у нас последняя добавленная скобка - [, значит, она закрываёт её.
В нашем стеке: "("
Аналогично с круглой скобкой, в итоге в нашем стеке не остаётся ничего, строка корректна:)
В остальных случаях:
Если программа наткнётся на закрывающую скобку, для которой не найдётся открытой в стеке, причём той же самой (для квадратной - квадратная, для круглой - круглая, для фигурной - фигурная) выходит, выражение некорректно, что мы и выводим в качестве ответа. Само собой, если после выполнения программы останутся незакрывшиеся скобки, значит, это выражение тоже является некорректным.
Я не мастер объяснять, но надеюсь, что мой разбор вам:)  Исходный код вложен в ответ.

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