Структура опашка - решени задачи
опашка - естествени числа
Да се състави програма, чрез която се въвеждат N броя естествени числа от интервала [1..101].
Броят на въведените числа не се знае предварително - определя се от потребителя.
Чрез използване на структура от тип опашка да се изведе въведената редица естествени числа като:
а) първо се извеждат всички нечетни числа;
б) след тях се извеждат всички четни числа;
в) извеждането на числата съответства на реда на въвеждането им.
Пример: 11, 12, 15, 17, 19, 21, 23, 9, 10, 16, 18, 20
Изход: 11, 15, 17, 19, 21, 23, 9, 12, 10, 16, 18, 20
разлика между опашка и стек
Да се състави програма, чрез която се въвежда есествено число N от интервала [10..101].
Да е генерират N броя псевдослучайни естествени числа от интервала [10..10001].
Числата се въвеждат в опашка - по реда на въвеждането си.
Да се илюстрира основната разлика между опашка и стек - въведените числа в опашката се въвеждат в стек и се извеждат от него.
Пример: 5; 12, 18, 32, 7, 10
опашка 5; 12, 18, 32, 7, 10
стек 10, 7, 32, 18,12, 5
сравняване на дълги числа
Да се състави програма, чрез която се въвежда N цифрено дълго число.
Първата и последната цифра се по-големи от 0.
На основа въведеното число се разлеждат две дълги числа - четено отляво-надясно и отдясно-наляво.
Програмата да съхранява цифрите на дългото число в структура опашка.
Да се изведе съобщение за резултата от сравняване - кое от двете дълги числа е по-голямо или и двете са равни.
Пример: N=18 число: 284941998579660387
Изход: симетричното число е по-голямо.
число палиндром
Да се състави програма, чрез която се въвежда естествено число N от интервала [10..1000001].
Програмата да извежда резултта от проверка дали въведеното число е палиндром.
Да се използва структура от тип опашка.
Пример: N=5 число 12321 Изход: палиндром
две наредени редици
Същестуват предварително въведени две отделни наредени редици, чийто елементи са естествени числа от интервала [1..101].
В структура опашка се въвежда обединеното съдържание на двете наредени редици.
Програмата да изведе всички елементи на опашката, така че да същестува наредба след тяхното обединяване.
Пример: 11, 12, 15, 17, 19, 21, 23 и 9, 10, 16, 18, 20
след обединяване: 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 23
четни и нечетни числа
Да се състави програма, чрез която се въвежда естествено число N от интервала [10..10010]. Програмата да генерира N броя псевдо случайни числа от интервала [1..101] ида ги записва в опашка. Да се изведат елементите на опашката последователно нечетни, четни числа. Ако единият вид числа е преобладаващ по брой извеждането на опашката продължава с този вид числа. Пример: N=8 генерирани: 520, 776, 620, 567, 287, 208, 525, 202 Изход: 567, 520, 287, 776, 525, 620, 208, 202
числа в текстов файл
Съществуват два предварително създадени текстови файла съдържащи естествени числа от интервала [1..10001]. И в двата файла на отделен ред е записано по едно число.
Броят на записаните числа във всеки двата файла не е непременно равен.
Да се състави програма, чрез която се четат съответните числа от двата файла до достигане края на по-късия файл.
Прочетените числа и тяхната сума се записват в структура от тип опашка.
Програмата да изведе съдържанието на прочетените числа и сумата на всяка съответна двойка.
два текстови файла
Съществуват два предварително създадени текстови файла съдържащи естествени числа от интервала [1..10001]. И в двата файла всяко число е записано на отделен ред.
Броят на записаните числа във всеки двата файла не е непременно равен.
Да се състави програма, чрез която се четат съответните числа от двата файла до достигане края на по-дългия файл.
Прочетените числа от двата файла, както и тяхната сума се записват в структура от тип опашка.
Приема се, че липсващото число от по-късия файл е със стойност 0.
Програмата да изведе съдържанието на прочетените числа и сумата на всяка съответна двойка.
Пример: 1,2,3,4,5; 8,7,6; Изход: 9,9,9,4,5
алчен алгоритъм
Да се състави програма, чрез която се въвежда естествено число N от интервала [101..20002].
Числото представлява сума за плащане. Възможните номинални стойности на банкнотите са 100, 50, 20, 10, 5, 2 и 1.
Като се използва динамична структура опашка да се изведе въведеното числа представено като сума от минимален брой банкноти. Приложете алчен алгоритъм за изчисляване на минимален брой банкноти.
Пример: 738 Изход: 7*100; 1*20; 1*10; 1*5; 1*2; 1*1
побитово преместване
Да се състави програма, чрез която се въвежда естествено число N от интервала [10..10010].
Програмата да изведе същото число в двоична бройна система чрез побитово преместване.
Използвайте структура опашка.
Пример: 101 Изход: 1100101
аритметична прогресия
Да се състави програма, чрез която се въвеждат две естествени числа
N от интервала [1000..10000] и M от интервала [1000..10000].
N е стойност на последния член на аритметична прогресия, а M е разлика на същата прогресия.
Програмата да изчисли и запише в опашка всички членове на прогресията.
Да се изведат елементите на опашката, като първия й член е и първи член на прогресията.
Пример: N=99, M=10 Изход: 9; 19; 29; 39; 49; 59; 69; 79; 89; 99;
V-образно - сортиране
По въведено естествено число N от интервала [5..1000005] програма да генерира, изведе на екрана и запише в структура опашка N броя псевдослучайни естествени числа от интервала [100..9999999].
Същите числа да бъдат сортирани V-образно, т.е. от първия до средния елемент във възходящ ред, а от средния към последния елемент в низходящ ред.
Пример: N=15 Изход:
Начално състояние: 688; 498; 222; 967; 287; 138; 424; 241; 836; 533; 877; 161; 158; 992; 975
След V-образно сортиране: 975; 877; 688; 498; 287; 222; 158; 138; 161; 241; 424; 533; 836; 967; 992
трионообразна редица
Да се състави програма, чрез която се въвежда естествено число N от интервала [10..1000010].
Програмата да генерира N броя псевдослучайни естествени числа от интервала [100..10000010] и да ги запише като елементи на опашка.
Числата да се изведат подредени като трионообразна редица. Всеки елемент с изключения на първия и последния, се намира или между два по-големи от него, или между два по-малки от него.
Пример: N=11 Изход:
Начално състояние: 4162; 421; 3439; 949; 1786; 915; 9585; 203; 5952; 705; 5872;
трионообразна редица: 9585; 949; 5952; 915; 5872; 705; 4162; 421; 3439; 203; 1786;
пряко вмъкване
Да се състави програма, чрез която се въвежда естествено число N от интервала [10..1000010].
Програмата да генерира N броя псевдослучайни естествени числа от интервала [100..10000010] и да ги сортира в низходяща последователност.
Да се изведе всяка отделна стъпка за сортиране чрез алгоритъм за пряко вмъкване.
Пример: 10 Изход:
Начално състояние:790; 377; 760; 556; 893; 412; 844; 658; 119; 675;
Последователни стъпки на сортиране:
Етап 1: 790; 377; 760; 556; 893; 412; 844; 658; 119; 675;
Етап 2: 790; 377; 760; 556; 893; 412; 844; 658; 119; 675;
Етап 3: 790; 760; 377; 556; 893; 412; 844; 658; 119; 675;
Етап 4: 790; 760; 556; 377; 893; 412; 844; 658; 119; 675;
Етап 5: 893; 790; 760; 556; 377; 412; 844; 658; 119; 675;
Етап 6: 893; 790; 760; 556; 412; 377; 844; 658; 119; 675;
Етап 7: 893; 844; 790; 760; 556; 412; 377; 658; 119; 675;
Етап 8: 893; 844; 790; 760; 658; 556; 412; 377; 119; 675;
Етап 9: 893; 844; 790; 760; 658; 556; 412; 377; 119; 675;
Етап 10: 893; 844; 790; 760; 675; 658; 556; 412; 377; 119;
точност при извеждане
Да се състави програма, чрез която се въвеждат две естествени числа M и N от интервала [100..10000], представляващи числител и знаменател на дроб M/N. Да се въведе и естествено число K от интервала [10..100].
Програмата да запише резултата от деленето M/N с K знака след десетичната запетая в опашка и да изведе всички елементи на опашката.
Пример: M=22; N=7,K= 25; Изход: 3.1428571428571428571428571
средна претеглена стойност
Да се състави програма, чрез която се въвежда естествено число N от интервала [5..100010].
Програмата да генерира N тройки псевдослучайни естествени числа.
Числата B, C, Z във всяка тройка са естествени и представляват: B – брой елементи в дадена съвкупност [5..10]; C – числител [100..900]; Z – знаменател [2..100]. Отношението C/Z дава средна стойност за тази съвкупност.
Програмата да записва всяка от генерираните тройки в опашка и да извежда средна претеглена стойност на всички N броя тройки.
Пример: 5 Изход: 9*141/55; 9*500/64; 7*778/56; 10*264/64; 6*881/98
средна претеглена стойност: 6.97132
максималната разлика
Да се състави програма, чрез която се въвеждат естествено число N от интервала [10..100010].
Прграмата да генерира N броя псевдослучайни естествени числа от указания интервал. Числата да се записват като елементи на опашка.
Програмата да изведе средната стойност от всички елементи на опашката, както и изчислената максимална разлика между кои да и два елемента на опашката. Да се извежда на екрана, процеса на обхождане елементите на опашката.
Пример: 10
Изход: 20939; 4192; 17543; 15377; 11875; 19921; 18634; 22212; 20496; 23213
средна стойност: 17440.2
максимална разлика: 19021
четност на пермутация
Съществува инверсия в пермутация, ако по-голямо число стои пред по-малко. Под четност на пермутация ще разбираме четността на броя на инверсиите в същата пермутация.
Да се състави програма, чрез която се въвеждат две естествени числа N и K. N е число от интервала [1..26], K < N.
Програмата да генерира всички възможни уникални пермутации, в които участват N броя различни главни латински букви - началната буква е A.
Всяка от генерираните пермутации да се запише като отделен елемент в опашка. Числото K дава пореден номер на всяка пермутация.
Програмата да изведе всички елементи на опашката, както и съобщение дали K-тата пермутация е четна.
Пример: N=3, K=1
Изход: ABC, ACB, BAC, BCA, CAB, CBA; пермутация 1 е четна
комбинации без повторение
Да се състави програма, чрез която се въвеждат три естествени числа N, K и M.
Програмата да генерира всички комбинации без повторение от N елемента клас K и да ги запише в опашка. Елементи на комбинацията са естествените числа от интервала [1..N].
Записаните в опашката комбинации да са във възходящ ред по отношение наредбата на елементите си.
Всяка от генерираните комбинации се записва като един елемент на опашкта с всички свои цифри.
Въведеното число M е желан номер комбинация измежду генерираните, за която трябва да се изведе сумата на елементите.
Пример: N=5, K=3 M=10 Изход: комбинация 3 4 5; сума 12
равно отдалечени елемента
Да се състави програма, чрез която се въвежда естествено число N от интервала [[5..105].
Програмата да генерира N броя трицифрени естествени числа и да ги запише в дек.
Да се изведат последователно сумите на елементите на дека, които са равно отдалечени от двата му края. Ако липсва съответния елемент в сумата второто събираемо е 0.
Да се изведе максималната сума от всички такива два равноотдалечни елемента.
Пример N=4 Изход: генерирани са 145, 213, 379, 421
Суми на два равно отдалечни елемента: 145 + 213 = 358; 421 + 379 = 800
максимална сума: 800
копиране на текстов файл
Да се състави програма, която копира изцяло съдържанието на съществуващ текстов файл по следните начини:
а) всички редове в изходния файл са в същата последователност, както и съдържанието на всеки ред;
б) всички редове са в същата последователност, но съдържанието на всеки ред е обърнато огледално;
в) всички редове са в обратната последователност, както и съдържанието на всеки ред е обърнато огледално;
При всеки от изброените начин да се използва опашка.
Указание: използвайте сорс кода на програмата за входен текстов файл.
сума от цифри
Да се състави програма, чрез която се въвежда естествено чсло N от интервала [10..1000010]. Програмата да генерира и изведе N броя псевдослучайни числа от интервала [100..10000010].
Към всяко число се добавя сумата на цифрите му и новото число се записва като елемент на опашка.
Да се изведе съдържанието на опашката. От опашката да се изтрият всички нечетни числа и да сe изведе новото съдържание на опашката.
Пример: N=10
Изход: 16054; 6563; 13278; 6937; 24275; 5593; 24278; 7073; 14381; 23345;
След добавяне сума на цифри: 16070; 6583; 13299; 6962; 24295; 5615; 24301; 7090; 14398; 23362
Само четни числа: 16070; 6962; 7090; 14398; 23362
изтриване на четни числа
Да се състави програма, чрез която се въвежда естествено число N от интервала [10..1000010]. Програмата да генерира и изведе N броя псевдослучайни числа от интервала [100..10000010].
От всяко число се изтрива последната цифра и новото число се записва като елемент на опашка.
Да се изведе съдържанието на опашката.
От опашката да се изтрият всички четни числа и да с изведе новото съдържание на опашката.
Пример: N=10
Изход: 18036; 10013; 10622; 31608; 26534; 29822; 12992; 32457; 9908; 27020;
След редукция: 1803; 1001; 1062; 3160; 2653; 2982; 1299; 3245; 990; 2702;
Само нечетни числа: 1803; 1001; 2653; 1299; 3245
елементи с четни номера
Да се състави програма, чрез която се въвежда естествено число N от интервала [10..1000010]. Програмата да генерира и изведе N броя псевдослучайни числа от интервала [100..10000010]. Всяко от числата да се запише като елемент на опашка.
Да се изведе съдържанието на опашката.
От опашката да се изтрият всички елементи с четни номера и да с изведе новото съдържание на опашката, както и сумата на вече изтритите елементи.
Пример: N=8
Изход: 20985; 16496; 20113; 2828; 1714; 3947; 5487; 10568;
Четни номера: 16496; 2828; 3947; 10568
Сума на елементи с четни номера: 33839
зиг-заг обхождане на таблица
Да се състави програма, чрез която се въвеждат две естествени числа R и K. И двете числа са от интервала [2..15] и представляват съответно брой редове и колони на правоъгълна таблица.
Програмата да илюстрира обхождане на таблицата под форма на зиг-заг.
Всички нечетни редове се обхождат отляво-надясно, а всички четни редове отдясно наляво. Последователността на обхождане да се запише като елементи на опашка.
Пример: R=4, K=5 Изход:
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
делене на дълго число
Да се състави програма, чрез която се въвеждат две естествени числа N и M. И двете числа са от интервала [2..10002].
Програмата да генерира и изведе дълго естествено число с N броя псевдослучайни цифри. Всяка цифра е отделен елемент в опашка. Да се изведе резултатът от делене на N/M.
Резултатът да бъде представен с целочислено частно и целочислен остатък. Да се използва структура от типа опашка.
Пример: N=13 M=97 Изход:
дълго число: 7505971654426
целочислено частно: 77381151076
целочислен остатък: 54
числа на Стирлинг и Бел
Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [2..25]. Програмата да генерира, запише в опашка и изведе N реда числа на Стирлинг.
Ако съществува число M в опашката програмата да изведе всички числа на Стирлинг, принадлежащи на този ред, както и съответното число на Бел. Ако няма такова число да се изведе съответното съобщение.
Пример: N=6; M=25 Изход:
1: 1; 2: 1 1; 3: 1 3 1; 4: 1 7 6 1; 5: 1 15 25 10 1; 6: 1 31 90 65 15 1;
извеждам числа на Стирлинг за ред 5: 1 15 25 10 1
за ред 5 число на Бел: 52
произведение на дълги числа
Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [2..4004].
Програмата да генерира, запише в опашка и изведе две редици от цифри представляващи дълги числа.
Да се изведе тяхното произведение - резултатът от умножението на двете дълги числа.
Пример: N=8; M=7 Изход:
Число 1: 46563521
Число 2: 9966637
Произведение: 464081711248877
степенуване на дълго число
Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [2..4002].
Програмата да генерира, запише в дек и изведе N броя цифри представящи дълго число, а числото M - степен, на която да се повдигне дългото число.
Да се изведе резултата от степенуване на въведеното дълго число.
Пример: N=6; M=8 Изход: Основа 175790
след степенуване: 911912836582095331322970944716656100000000
различни редове от файл
Съществува предварително сортиран текстов файл. Да се състави програма, чрез която се чете началния файл и се записва съдържанието му в структура опашка.
Програмата да изведе в друг файл само тези редове, чиито леви N знака са различни. Ако има повтаряща се последователност от първите леви N знака в друг файл се записва само първия срещнат такъв ред.
Максималната дължина на ред е 256 символа, N е естествено число от интервала [1..20].
Примерна последователност за N=4: abcd111, abcd2222, abcd333
Изход: abcd111
двоично число от код на Грей
Да се състави програма, чрез която се въвежда естествено число N, принадлежащо на интервала [5..105]. Програмата да изведе и запише в структура опашка N броя псевдослучайни числа от интервала [0..101]. Числата са представени в код на Грей.
Да се изведе съдържанието на опашката по следния начин: въведеното число код на Грей в 10-ична и 2-ична бройна система, както и съответното число от код на Грей в 10-ична и 2-ична бройна система.
Пример: 4 Изход числа от код на Грей: 768; 681; 342; 220;
Грей код: 768 1100000000; 10-ично: 512 = 1000000000
Грей код: 681 1010101001; 10-ично 817 = 1100110001
Грей код: 342 101010110; 10-ично 411 = 110011011
Грей код: 220 11011100; 10-ично 151 = 10010111
думи над азбуката
Да се състави програма, чрез която се въвежда естествено число N, принадлежащо на интервала [2..10].
Числото N представлява брой различни главни букви от латинската азбука - началната буква е A.
Програмата да изведе генерира, запише в опашка и изведе всички възможни думи с максимална дължина N над азбуката, т.е. думи, чийто букви са част от указаната азбука. В една дума може да се повтаря една и съща буква.
Пример: N=2 Изход: A; B; AA; AB; BA; BB;
точки в триъгълник
Да се състави програма, чрез която се въвеждат координатите на N броя точки.
N е естествено число от интервала [3..1003], а координатите на точките са естествени числа от интервала [0..99].
Координатите са записват във файл. Да се прочете информацията от файла и да се запише в структура опашка.
Първите три точки от опашката са върхове в един триъгълник.
Да се изведат координатите на всички останали точки, които принадлежат на формирания триъгълник.
Пример: N=9 точки: 91,33; 20,45; 95,66; 25,21; 73,45; 89,96; 86,34; 97,11; 69,48
точка с координати: 73,45; 86,34; 69,48 принадлежи на триъгълника.
правоъгълен трапец
Да се състави програма, чрез която се въвеждат координатите на N броя точки.
N е естествено число от интервала [3..1003], а координатите на точките са естествени числа от интервала [0..99].
Координатите се записват във файл. Програмата да прочете информацията от файла и да я запише в структура опашка.
Всяка двойка точки формира правоъгълен трапец с основи стойността на точките по ос Y и височина разликата между дължините на проекциите на точките по ос X.
Пример: N=10 точки: 36,17; 11,46; 77,77; 74,26; 63,66; 5,47; 54,96; 49,32; 8,70; 48,36
правоъгълен трапец с върхове 77,77 и 8,70 е с лице 5071.5
точки и права
Да се състави програма, чрез която се въвеждат координатите на N броя точки.
N е естествено число от интервала [3..1003], а координатите на точките са естествени числа от интервала [0..99].
Координатите са записани във файл. Да се прочете информацията от файла и да се запише в структура опашка.
Всеки две съседни точки формират права. Търси се тройка точки, измежду въведените, които лежат на една и съща права.
Пример: N=15 точки: 41,71;26,44;59,87;42,88;36,55;57,20;53,47;32,15;87,15;28,87;81,45;80,87;3,53;55,15;27,12
точки с координати: 32,15; 87, 15; 55, 15 лежат на една права
задача за раницата
По въведени 2 естествени числа N [10..10000] и T [10..500] да се запишат в структура опашка N броя псевдослучайни естествени числа от интервала [10..100].
Числата представляват тегло на отделни предмети, а T е вместимост на раницата.
Да се състави програма решаваща задача за раницата, т.е. да се изведе резултат от проверката дали от въведените числа може да се формира точно допустимата вместимост T на раницата.
Пример: N=15; T=100 числа 50, 19, 53, 92, 59, 63, 11, 98, 78, 65, 55, 93, 93, 35, 95
Изход: 35+ 65 = 100
максимален обем
По въведено име на файл с директен достъп се записват данни за основни ръбове за N броя призми.
Всички те са естествени числа от интервала [1..99].
Програмата да чете данните от файла и да ги записва в структура опашка. Да се изведе изчисленият максимален обем на призма.
Пример: N=5 Изход: a=83,b=48,c=45; a=92,b=57,c=20; a=82,b=49,c=52; a=28,b=6,c=28; a=13,b=55,c=57
максимален обем V: 208936 за: a=82, b=49, c=52
Да се състави програма (C++), чрез която се въвежда естествено число N от интервала [5..1005].
Програмата да генерира N броя псевдослучайни естествени числа от интервала [0..9] и да ги запише в опашка.
Тези числа са цифри на дълго число.
Да се изведат останалите N-1 дълги числа, чийто цифри са равни по брой и вид на цифрите на началното дълго число.
Във всяко от новите числа всички цифри са преместени с 1 позиция наляво като първата цифра на предходното число е заела последната позиция, а останалите цифри са запазили относителната си позиция спрямо останалите цифри.
Програмата да изведе новите дълги числа, сортирани в низходящ ред, като се ползва приоритетна опашка.
Пример: N = 5, число: 32265 Изход: 65322, 53226, 32265, 26532, 22653