Nível 10.8 do livro de problemas C++

Задание 1

Escreva um programa que verifique se é possível obter uma string a partir de outra reorganizando suas letras.

Задание 2

Implemente o algoritmo Crivo de Eratóstenes para buscar números primos em um intervalo determinado.

Задание 3

Dada uma matriz bidimensional arbitrária:

cpp{
  {11, 12, 13, 14, 15},
  {21, 22, 23, 24, 25},
  {31, 32, 33, 34, 35},
  {41, 42, 43, 44, 45},
  {51, 52, 53, 54, 55},
}

Troque a posição de duas linhas determinadas:

cpp{
  {51, 52, 53, 54, 55},
  {21, 22, 23, 24, 25},
  {31, 32, 33, 34, 35},
  {41, 42, 43, 44, 45},
  {11, 12, 13, 14, 15},
}
Задание 4

Dada uma matriz bidimensional arbitrária:

cpp{
  {1, 2, 3, 4, 5},
  {1, 2, 3, 4, 5},
  {1, 2, 3, 4, 5},
  {1, 2, 3, 4, 5},
  {1, 2, 3, 4, 5},
}

Obtenha a soma das colunas desta matriz. Apresente o resultado na forma de um array de somas:

cpp{
  5, 10, 15, 20, 25
}
Задание 5

Dada uma string contendo qualquer quantidade de parênteses redondos emparelhados e aninhados. Escreva um código que verifique se os parênteses estão dispostos corretamente.

Assim está correto:

cpp"()()"

Assim está correto:

cpp"(())"

Assim está incorreto, pois a quantidade de parênteses abertos não coincide com a quantidade de parênteses fechados:

cpp"())"

Assim está incorreto, pois, embora a quantidade de parênteses abertos coincida com a quantidade de parênteses fechados, a ordem deles está errada:

cpp"))(("