#include необходим для подключения заголовочных файлов из стандартной библиотеки C/C++ (в этом случае название заголовочного файла указывается в угловых скобках, например, #include <cstdlib>) или заголовочных файлов сторонних библиотек (в этом случае название указывается в двойных кавычках, например, #include "sqlite3.h").
using namespace std используется для выбора пространства имён std по-умолчанию. В библиотеках могут быть использованы различные пространства имён, ограничивающие область видимости функций, классов и глобальных переменных. В стандартной библиотеке используется пространство имён std, указывающее на то, что данная конструкция является частью стандартной библиотеки. Если не использовать никакое пространство имён, то даже при подключении заголовочного файла (например применив вызов #include <iostream>), мы не сможем явно использовать элементы этой библиотеки, которые объявлены в пространстве имён std. Т.е. вызов cout << "Привет, мир!" вызовет ошибку, что объект cout не найден. Это происходит потому, что данный объект имеет область видимости только внутри пространства имён std. Но мы можем его вызвать, явно указав, в каком пространстве имён следует искать данный объект. Для этого необходимо перед именем объекта указать имя пространства имён, в котором он находится. Пример:
#include <iostream>
int main() { cout <<"Hello!" // Ошибка - не указано пространство имён std::cout <<"Hello!" // Нет ошибки - вызов объекта из пространства имён std, указанного явным образом }
32768
Объяснение:
Данная незамысловатая функция Excel VBA формирует строку, согласно условию.
Function replstr(str As String, n As Integer) As String
Dim a(1 To 3), b(1 To 3) As String, i, j As Integer
a(1) = "A": a(2) = "B": a(3) = "AB"
b(1) = "AB": b(2) = "AB": b(3) = "A"
For i = 1 To n
j = (i - 1) Mod 3 + 1
str = Replace(str, a(j), b(j))
Next
replstr = str
End Function
Аргументы функции:
1) Исходная строка (а данном случае “AA”)
2) Число операций с исходной строкой
Значение первых 13 операций:
=replstr("AA";1) ABAB
=replstr("AA";2) AABAAB
=replstr("AA";3)
=replstr("AA";4) ABABABAB
=replstr("AA";5) AABAABAABAAB
=replstr("AA";6)
=replstr("AA";7) ABABABABABABABAB
=replstr("AA";8) AABAABAABAABAABAABAABAAB
=replstr("AA";9)
=replstr("AA";10)
=replstr("AA";11)
=replstr("AA";12)
=replstr("AA";13)
Для подсчета символов “A” в строке, используем еще одну функцию:
Function chrcount(str1 As String, str2 As String) As Integer
Dim str() As String
str = Split(str1, str2)
chrcount = UBound(str, 1)
End Function
Аргументы функции:
1) Cтрока
2) Символ (последовательность символов), число которых требуется найти
Например, результатом использования функции =chrcount(replstr("AA";20);"A") в ячейке Excel будет число 256
Используя описанные функции, посчитаем символы “A”в первых 13 строках
Номер операции (i) Число символов “A” в строке
1 2
2 4
3 4
4 4
5 8
6 8
7 8
8 16
9 16
10 16
11 32
12 32
13 32
Как видно из таблицы, число символов в строке образует числовую последовательность 2^1; 2^2; 2^2; 2^2; 2^3; 2^3; 2^3; … 2^([(i-2)/3]+2)
Таким образом, мы получили формулу для вычисления числа символов “A”в строке по номеру операции.
Соответственно, 2^([(43-2)/3]+2) = 32768
необходим для подключения заголовочных файлов из стандартной библиотеки C/C++ (в этом случае название заголовочного файла указывается в угловых скобках, например, #include <cstdlib>) или заголовочных файлов сторонних библиотек (в этом случае название указывается в двойных кавычках, например, #include "sqlite3.h").
using namespace std
используется для выбора пространства имён std по-умолчанию. В библиотеках могут быть использованы различные пространства имён, ограничивающие область видимости функций, классов и глобальных переменных. В стандартной библиотеке используется пространство имён std, указывающее на то, что данная конструкция является частью стандартной библиотеки. Если не использовать никакое пространство имён, то даже при подключении заголовочного файла (например применив вызов #include <iostream>), мы не сможем явно использовать элементы этой библиотеки, которые объявлены в пространстве имён std. Т.е. вызов cout << "Привет, мир!" вызовет ошибку, что объект cout не найден. Это происходит потому, что данный объект имеет область видимости только внутри пространства имён std. Но мы можем его вызвать, явно указав, в каком пространстве имён следует искать данный объект. Для этого необходимо перед именем объекта указать имя пространства имён, в котором он находится. Пример:
#include <iostream>
int main()
{
cout <<"Hello!" // Ошибка - не указано пространство имён
std::cout <<"Hello!" // Нет ошибки - вызов объекта из пространства имён std, указанного явным образом
}
как-то так...