23 нояб. 2024 г., 12:49
This commit is contained in:
parent
f77b27b961
commit
aa4fd2a954
57
bash/task.sh
Normal file → Executable file
57
bash/task.sh
Normal file → Executable file
@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
CpArray_Mac() {
|
||||
|
||||
# Оператор Присваивания
|
||||
|
||||
echo -n 'eval '
|
||||
echo -n "$2" # Имя массива-результата
|
||||
echo -n '=( ${'
|
||||
echo -n "$1" # Имя исходного массива
|
||||
echo -n '[@]} )'
|
||||
|
||||
# Все это могло бы быть объединено в одну команду.
|
||||
# Это лишь вопрос стиля.
|
||||
}
|
||||
|
||||
declare -f CopyArray # "Указатель" на функцию
|
||||
CopyArray=CpArray_Mac # Оператор Присваивания
|
||||
|
||||
Hype()
|
||||
{
|
||||
|
||||
# Исходный массив с именем в $1.
|
||||
# (Слить с массивом, содержащим "-- Настоящий Рок-н-Ролл".)
|
||||
# Вернуть результат в массиве с именем $2.
|
||||
|
||||
local -a TMP
|
||||
local -a hype=( -- Настоящий Рок-н-Ролл )
|
||||
|
||||
$($CopyArray $1 TMP)
|
||||
TMP=( ${TMP[@]} ${hype[@]} )
|
||||
$($CopyArray TMP $2)
|
||||
}
|
||||
|
||||
declare -a before=( Advanced Bash Scripting )
|
||||
declare -a after
|
||||
|
||||
echo "Массив before = ${before[@]}"
|
||||
|
||||
Hype before after
|
||||
|
||||
echo "Массив after = ${after[@]}"
|
||||
|
||||
# Еще?
|
||||
|
||||
echo "Что такое ${after[@]:4:2}?"
|
||||
|
||||
declare -a modest=( ${after[@]:2:1} ${after[@]:3:3} )
|
||||
# ---- выделение подстроки ----
|
||||
|
||||
echo "Массив Modest = ${modest[@]}"
|
||||
|
||||
# А что в массиве 'before' ?
|
||||
|
||||
echo "Массив Before = ${before[@]}"
|
||||
|
||||
exit 0
|
15
bash/task2.sh
Executable file
15
bash/task2.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
arg1_test=( 2 -3 5 -7 -200 5 -1 -1 )
|
||||
arg2_test=( 2 3 4 5 100 0 -1 -23 )
|
||||
result=( 4 0 10 -2 -100 5 -2 -24 )
|
||||
|
||||
for i in ${!arg1_test[@]}
|
||||
do
|
||||
output=$(./summ ${arg1_test[$i]} ${arg2_test[$i]})
|
||||
if [ $output -eq ${result[$i]} ]; then
|
||||
echo "PASS"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
done
|
14
cpp/task1/CMakeLists.txt
Normal file
14
cpp/task1/CMakeLists.txt
Normal file
@ -0,0 +1,14 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
# Укажите имя проекта
|
||||
project(task1)
|
||||
|
||||
# Укажите стандарт C++
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||
|
||||
set(SOURCE ${CMAKE_CURRENT_SOURCE}/main.cpp)
|
||||
|
||||
# Добавьте исполняемый файл
|
||||
add_executable(${CMAKE_PROJECT} ${SOURCE})
|
||||
|
12
cpp/task1/main.cpp
Normal file
12
cpp/task1/main.cpp
Normal file
@ -0,0 +1,12 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
int main (int argc, char *argv[]) {
|
||||
int summ = 0;
|
||||
for (int i = 1; i < argc; i++) {
|
||||
summ += std::stoi(argv[i]);
|
||||
}
|
||||
std::cout << summ;
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user