Skip to content

Latest commit

 

History

History

week1

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Упражнение №1 - Преговор от УП

Задача 1

Напишете програма, която чете от входа цяло число N, след което прочита N на брой цели числа и ги отпечатва, разделени със запетая и интервал (, ).

Задача 2

Напишете програма, която чете от входа две цели числа N и M, след което прочита N реда, съдържащи по M цели числа, разделени с интервал. Да се изведат на екрана последните цифри на всяко от числата във вид на матрица с размер N x M.

Задача 3

Напишете два различни варианта на функция, която разменя стойностите на две променливи от тип char. Нека те имат следните сигнатури:

void swap(char& c1, char& c2);
void swap(char* c1, char* c2);

Задача 4

Имплементирайте структура (struct), моделираща комплексно число. Напишете и следните функции:

  • complexFromReal: Приема за параметър реално число, връща неговия комплексен еквивалент
  • isEqual: Приема за параметър две комплексни числа, връща дали са равни
  • add: Приема за параметър две комплексни числа, връща тяхната сума
  • multiply: Приема за параметър две комплексни числа, връща произведението им
  • conjugated: Приема за параметър комплексно число, връща неговото комплексно спрегнато
  • conjugate: Приема за параметър комплексно число и го спряга

Пищов по алгебра:

(a + bi) + (x + yi) = (a + x) + (b + y)i

(a + bi) . (x + yi) = (ax - by) + (ay + bx)i

conj(a + bi) = a - bi

Задача 5

Всеки дисплей може да се разгледа като координатна система, съставена от неговите пиксели. По конвенция обикновено нейното начало е ъгълът горе вляво, абсцисата X расте надясно, а ординатата Y - надолу.

Да се напише структура Point, съдържаща координатите на пиксел от екрана. Да се напише структура Rectangle, съдържаща координатите на началния пиксел (този в горния ляв ъгъл), както и височината и ширината на правоълълникът от екрана, който тази структура описва.

Да се напишат следните функции:

  • pointInRectangle: Приема точка и правоъгълник, връща дали точката се съдържа в правоъгълника
  • translateRectangle: Приема за праметър правоъгълник, както и две цели числа x и y; транслира (премества) правоъгълника по абсцисата с x и по ординатата с y
  • edgesOfRectangle: Приема правоъгълник, връща масив с координатите на четирите му върха

Задача 6

Един маршрут (route) може да се представи като последователност от места, през които да се премине (checkpoints).

Да се напише структура RouteCheckpoint, която да съдържа име (максимум 1024 символа) и указател към следващия checkpoint.

Да се напише функция printRoute, която да приема начална точка от маршрут и да отпечатва на екрана целия маршрут (последователност от имената на отделните точки от маршрута, разделени чрез ->).

Да се напише функция printRouteRecursively, която прави същото нещо като горната, само че чрез рекурсия.