Ниво 10.8 на задачачника C++

Задание 1

Напишете програма, която проверява дали една низ може да се получи от друг чрез пренареждане на буквите му.

Задание 2

Реализирайте алгоритъма Решето Ератостен за търсене на прости числа в зададен интервал.

Задание 3

Даден е произволен двумерен масив:

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

Разменете два зададени реда:

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

Даден е произволен двумерен масив:

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

Получете сумата на колоните на този масив. Резултатът представите под формата на масив от суми:

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

Даден е низ, съдържащ произволен брой вложени двойки кръгли скоби. Напишете код, който проверява дали скобите са разположени коректно.

Така е коректно:

cpp"()()"

Така е коректно:

cpp"(())"

Така е некоректно, защото броят отворени скоби не съвпада с броя затворени:

cpp"())"

Така е некоректно, защото, въпреки че броят отворени скоби съвпада с броя затворени, редът им е неправилен:

cpp"))(("