Nivel 10.8 del libro de problemas C++

Задание 1

Escribe un programa que verifique si es posible obtener una cadena de otra reorganizando sus letras.

Задание 2

Implementa el algoritmo de la Criba de Eratóstenes para buscar números primos en un intervalo dado.

Задание 3

Dado un array bidimensional arbitrario:

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},
}

Intercambia dos filas dadas:

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

Dado un array bidimensional arbitrario:

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},
}

Obtén la suma de las columnas de este array. Representa el resultado como un array de sumas:

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

Dada una cadena que contiene cualquier cantidad de paréntesis redondos emparejados y anidados. Escribe un código que verifique que los paréntesis están colocados correctamente.

Así es correcto:

cpp"()()"

Así es correcto:

cpp"(())"

Así es incorrecto, porque la cantidad de paréntesis abiertos no coincide con la cantidad de paréntesis cerrados:

cpp"())"

Así es incorrecto, porque, aunque la cantidad de paréntesis abiertos coincide con la cantidad de paréntesis cerrados, el orden es incorrecto:

cpp"))(("