#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)l4.1"
Local $sString = "// Lab 4.1" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"#include <iostream>" & @CRLF & _
"#include <stdlib.h>" & @CRLF & _
"" & @CRLF & _
"using namespace std;" & @CRLF & _
"" & @CRLF & _
"int n, m;" & @CRLF & _
"int a[21], b[21], c[42];" & @CRLF & _
"" & @CRLF & _
"// Cau 1" & @CRLF & _
"void createArray() {" & @CRLF & _
" int i;" & @CRLF & _
"" & @CRLF & _
" do {" & @CRLF & _
" cout << " - Nhap gia tri cua n: ";" & @CRLF & _
" cin >> n;" & @CRLF & _
" } while (10 > n || n > 20);" & @CRLF & _
"" & @CRLF & _
" // Khoi tao 2 mang A & B co n phan tu" & @CRLF & _
" for (i = 0; i < n; i++) {" & @CRLF & _
" a[i] = rand() % 490 + 10;" & @CRLF & _
" b[i] = rand() % 490 + 10;" & @CRLF & _
" }" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"void printArray(int *array, int len) {" & @CRLF & _
" int i;" & @CRLF & _
"" & @CRLF & _
" for (i = 0; i < len; i++) {" & @CRLF & _
" cout << "\t" << array[i];" & @CRLF & _
" }" & @CRLF & _
" cout << endl;" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"void chanA_LeB() {" & @CRLF & _
" int i, j;" & @CRLF & _
" j = 0;" & @CRLF & _
" for (i = 0; i < n; i++) {" & @CRLF & _
" if (a[i] % 2 == 0) {" & @CRLF & _
" c[j] = a[i];" & @CRLF & _
" j++;" & @CRLF & _
" }" & @CRLF & _
" if (b[i] % 2 != 0) {" & @CRLF & _
" c[j] = b[i];" & @CRLF & _
" j++;" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
" m = j;" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"int mul_is_safe(int a, int b) {" & @CRLF & _
" if (b > INT_MAX / a)" & @CRLF & _
" return 0;" & @CRLF & _
" return 1;" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"void mulArray() {" & @CRLF & _
" int i, j;" & @CRLF & _
" long long KQ;" & @CRLF & _
" KQ = 1;" & @CRLF & _
"" & @CRLF & _
" for (i = 0; i < m; i++) {" & @CRLF & _
" if (mul_is_safe(c[i], KQ)) {" & @CRLF & _
" cout << c[i];" & @CRLF & _
" KQ *= c[i];" & @CRLF & _
" for (j = i-1; j >= 0; j--) {" & @CRLF & _
" if (i != 0)" & @CRLF & _
" cout << " * " << c[j];" & @CRLF & _
" }" & @CRLF & _
" cout << " = " << KQ << endl;" & @CRLF & _
" }" & @CRLF & _
" else {" & @CRLF & _
" cout << "Integer Overflow" << endl << endl;" & @CRLF & _
" return;" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"int main() {" & @CRLF & _
"" & @CRLF & _
" // Cau 1" & @CRLF & _
" cout << "Cau 1: " << endl;" & @CRLF & _
" createArray();" & @CRLF & _
"" & @CRLF & _
" // Cau 2" & @CRLF & _
" cout << endl << "Cau 2: " << endl;" & @CRLF & _
" cout << " - Mang A: " << endl;" & @CRLF & _
" printArray(a, n);" & @CRLF & _
" cout << " - Mang B: " << endl;" & @CRLF & _
" printArray(b, n);" & @CRLF & _
"" & @CRLF & _
" // Cau 3" & @CRLF & _
" cout << endl << "Cau 3: " << endl;" & @CRLF & _
" chanA_LeB();" & @CRLF & _
" cout << " - Mang C: " << endl;" & @CRLF & _
" printArray(c, m);" & @CRLF & _
"" & @CRLF & _
" // Cau 4" & @CRLF & _
" cout << endl << "Cau 4: " << endl;" & @CRLF & _
" mulArray();" & @CRLF & _
"" & @CRLF & _
" //system("pause");" & @CRLF & _
" return 0;" & @CRLF & _
"}" & @CRLF & _
""
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm