Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 03
NameSize
..
README.md7.0 KiBlog stats plain blame
drawing_examples.txt2.0 KiBlog stats plain blame
example 1 - gcd (naive).cpp238 Blog stats plain blame
example 2 - gcd (euclid).cpp231 Blog stats plain blame
example 3 - reverse and increment.cpp229 Blog stats plain blame
example 4 - prime number.cpp267 Blog stats plain blame
example 5 - prime factors.cpp575 Blog stats plain blame
solutions252 Blog stats plain

Оператори за цикъл

Цикъл while

enter image description here

while(<condition>)
{
     body...
}

Пример с Алгоритъмът на Евклид:

    n = 16, k = 24
    <24, 16>  24 % 16 = 8
    <16, 8>  16 % 8 = 0
    <8, 0> 
    => gcd(16,24) = 8

Цикъл for

for(int i = 0; i <= 300; i+=2)
{
 //body
}

Структурата на for-циклите включва: 1. инициализационен блок 2. условие на цикъла 3. команди за обновяване на водещите променливи 4. Тяло на цикъла

Цикъл do-while

Do-while конструкцията е подобна while цикъла, но с тази разлика, че условието е зададено в края т.е. проверката се прави след като се изпълни тялото на цикъла.

do
{
  //body
} while(<condition>);

Важно: При do-while тялото се изпълнява поне веднъж!

Оператор break

Използва се преждевременно излизане от цикъл, преди той да е завършил изпълнението си по естествения си начин.

Оператор continue

Използва се, когато реализираният алгоритъм изисква пропускане на част от операторите или част от кода в тялото на даден цикъл.

Задачи

Задача 1: Да се напише програма, която приема поток от числа. Числата се събират, докато не се въведе числото 0. Тогава трябва да се отпечата акумулираният резултат и да програмата да приключи.

Вход: 1 2 3 4 5 6 0, Изход: 21

Вход: 9 9 1 0, Изход: 19

Вход: 5 4 3 0 Изход: 12

Задача 2: Да се напише програма, която приема 2 числа. Да се отпечатат всички общи делители сортиран наобратно.

Вход: 28 21, Изход: 7 1

Вход: 60 30 Изход: 30 15 10 6 5 3 2 1

Вход: 19 17 Изход: 1

Задача 3: Да се напише програма, която приема число и премахва среднaта цифра , ако числото има нечетен брой цифри или премахва средните две цифри, ако числото има четен брой цифри. След това да се отпечата числото увеличено с 1-ца.

Вход: 1234, Изход: 14, 15

Вход: 123 Изход: 13, 14

Вход: 51234 Изход: 5134, 5135

Вход: 5 Изход: 0, 1

Задача 4: Да се напише програма, която приема 2 числa - a и b и отпечатва всички прости числа в интервала [a, b].

Вход: 10 20, Изход: 11 13 17 19

Вход: 20 1, Изход:

Вход: 1 20 Изход: 2 3 5 7 11 13 17 19

Задача 5: Да се напише програма, която приема цяло число и отпечатва дали е степен на 2-ката.

Вход: 1 , Изход: true

Вход: 20 Изход: false

Вход: 1024 Изход: true

Задача 6: Въвеждат се 5 цели числа - a,b,c,d, e. Разглеждаме полинома f(x) = a * x^4 + b * x^3 + c* x^2 + d * x + e. Отпечатайте всички цели решения на f(x) >= 0 където x e в интервала [-100, 100]

Вход: -1 4 0 8 1 , Изход: -1 0 2 3

Вход: 0 0 -1 5 -6 Изход: 2 3

!! Задачите надолу са за рисуване на конзолата. Във файла drawing_examples.txt има изходите като текст.!!

Задача 8: Да се напише програма, която приема цяло положително число n и отпечатва следната пирамида от доларчета

Пример:

enter image description here

Задача 9: Да се напише програма, която приема цяло положително число n и отпечатва следната пирамида от числа (подравнена надясно)

Пример:

enter image description here

Задача 10: Да се напише програма, която приема цяло положително число n и отпечатва числата от 1 до nn в спираловиден вид (тип 1)

Пример:

enter image description here

Задача 11: Да се напише програма, която приема цяло положително число n и отпечатва числата от 1 до nn в спираловиден вид (тип 2)

Пример:

enter image description here

Задача 12: Да се напише програма, която приема цяло положително число n и отпечатва следната рамка

Пример:

enter image description here

Задача 13: Да се напише програма, която приема цяло положително число n и отпечатва следната гира:

Пример:

enter image description here

Задача 14: Да се напише програма, която приема цяло положително число n и отпечатва следното дърво:

Пример:

enter image description here

Задача 15: Да се напише програма, която приема цяло положително число n и отпечатва следната папионка: enter image description here

Задача 16: Да се напише програма, която приема цяло положително число n и отпечатва следния килим: enter image description here

Задача 17: Да се напише програма, която приема цяло положително число n (n>=2) и след това n цели числа. Да се отпечатат най-голямато и второто по големина.

Вход: 10 9 1 4 5 10 99 34 0 44 1, Изход: 99 44

Вход: 4 1 3 3 1, Изход: 3 3