// std::shared_ptr<Foo_2> get_foo_sh(const char *msg)
// {
// return std::make_shared<Foo_2>(msg);
// }
std::unique_ptr<Foo_2> get_foo(const char *msg)
{
return std::make_unique<Foo_2>(msg);
}
int main()
{
auto& f1 = get_foo("Hello!!!");
auto& f2 = get_foo("Opa");
f1->say();
f2->say();
}
const Foo &get_foo(const char *msg)
{
static Foo_2 foo2("");
foo2 = Foo_2(msg);
return foo2;
}
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
var str string
var summa = 0
var ispos = 0
fmt.Print("Введите число: ")
fmt.Fscan(os.Stdin, &str)
num, err := strconv.Atoi(str)
if err != nil {
panic(err)
}
fmt.Println(num)
if num < 0 {
num = num * -1
ispos = -1
fmt.Println(num)
}
for i := 1; i <= num; i++ {
fmt.Println(i)
summa = summa + i
}
if ispos == -1 {
summa = summa * ispos
}
fmt.Println(summa)
}
Извлекается корень так: модуль результата это кв. корень из модуля исходного числа, угол результата равен половине исходного.
int a[40];
char a[40][40]; хотя в реальности можно и a[4][40] обойтись
и
a[i]=istr;
заменить на
strcpy(a[i], istr);