140 likes | 339 Views
Още задачи за масиви. Задача 1: Да се състави програма за работа с масив от цели числа, която да въвежда от клавиатурата броя на числата и самите числа и да:. сгъстява масива, като премахва нулевите му елементи;
E N D
Задача 1: Да се състави програма за работа с масив от цели числа, която да въвежда от клавиатурата броя на числата и самите числа и да: • сгъстява масива, като премахва нулевите му елементи; • отпечатва броя на платформите в масива. (платформа е последователност от равни елементи – в условието на задачата платформата може да бъде зададена като последователност от елементи, които изпълняват определено свойство); • отпечатва началния и крайния индекс на най-дългата платформа в масива; • разменя местата на първия елемент, равен на минималния и последния елемент, равен на максималния.
Задача 2: Условие: Имаме редица от цели числа с дължина n (3<n<100). Необходимо е да се проверят качествата на дадената редица относно следните свойства, като след всяко свойство е отбелязана буквата с която ще се демонстрира наличието на свойството в проверяваната редица:
растяща редица - всеки пореден член е не по-малък от предишния член (A). • строго растяща редица - всеки пореден член е по-голям от предишния член (B). • намаляваща редица - всеки пореден член е не по-голям от предишния член (C). • строго намаляваща редица - всеки пореден член е по-малък от предишния член (D). • осцилиращаредица - ако предищния член е бил по-малък от сегашния, то следващия е по-малък или равен на сегашния и обратно - ако предишния член е бил по-голям от сегашния то следващия трябва да е по-голям или равен на сегашния (E). • строго осцилираща - същото като осцилираща, само че не може да има два последователни еднакви елемента (F). • аритметична прогресия - всеки член се получава от предишния с прибавяне на число, което е константа за цялата редица и може да е положително, отрицателно или нула (G). • геометрична прогресия - всеки член се получава от предишния с умножение на число, което е константа за цялата редица и може да е положително или отрицателно (H).
На стандартния вход се въвеждат няколко редици. Описанието на всяка една редица започва с число n(3<n<100)показващо нейната дължина и след което следват самите n числа елементи на редицата. За край на входа се приема редица с дължина 0; • На екрана се извежда по един ред за всяка редица, съдържащ буквите, съответстващи на свойствата открити в редицата.
Задача 3: Великата Стена разделяла Острова на Програмистите на две части-едната била на програмистите пишещи на Паскал,другата-на пишещите на С.Това било направено с цел срещите им да се сведат до нула понеже иначе се стигало до спорове завършващи в Пирогов.Стената била тухлена,като тухлите били наредени в колони,плътно залепени една до друга и с еднаква височина.Но една нощ вандали (програмисти на ассемблер) разместили тухлите като вземали от една колона и ги слагали върху някоя друга.Така стената станала неравна и можело да се мине през нея.Това било недопустимо,затова бил извикан известния майстор-QuickBasic,който трябвало да възстанови стената.Но QuickBasic имал странен нрав-искал преди да започне работа всичко да е предефинирано и известно,затова сега му е необходимо да научи с колко премествания на тухли може да се свърши работата и ако може с по-малко защото и не е много паметлив.На Вас се пада задачата да откриете (независимо от коя страна на стената сте) какъв е минималния брои тухли, които трябва да се преместят за да се изравни стената, като напишете програма WALL.EXE..Под едно преместване се разбира: вземаме една тухла от някоя колона с поне една тухла (броя на тухлите в тази колона намалява с една) и я слагаме върху някоя друга (броя на тухлите във втората се увеличава с една).
На първия ред на стандартния вход се намира цялото число N (1<= N<=3000) показващо броя на колоните в стената.На следващите N реда е самата стена,като на всеки ред се намира цяло число Xi (0<=Xi<=60000) показващо броя на тухлите в i-тата колона.Общия брой на тухлите в стената не надвишава 60000. • На екрана да се изведе намереното число (минималния брой премествания). • Забележка: Взимаме две тухли от четвъртата колона и ги слагаме в първата (това е едно преместване) и вземаме четири тухли от четвъртата колона и ги слагаме във втората(това е второто преместване).
Задача 4: Щастлива година е тази, която има в записа си две равни цифри. Да се състави програма DATE.EXE, която чете от клавиатурата последователност от години до въвеждане на 0 и извежда на екранаброя на тези от тях, които имат по две еднакви цифри. Забележка: Ще приемем ,че година е четерицифрено число.
Задача 5: Дадени са резултатите от n (n<=100) поредни хвърляния на зарче. Да се състави програмаDICE.CPP, която прочита от клавиатурата броя n на хвърлянията и падналите се числа и отпечатва: • числото, което се е падало най-често; • началния и крайния номер на най-дългата последователност от еднакви попадения.
Задача 6: Да се състави програма BANK.EXE за работа с банкови сметки. Програмата съхранява сумите на не повече от 100 банкови сметки, като извършва следните дейности по избор от меню: • въвежда сумите за n сметки (0<n<100); • добавя нова банкова сметка; • отпечатва номера на банковата сметка с най-голяма сума; • олихвява всички банкови сметки с въведен процент и отпечатва получените след олихвяването суми; • внася или изтегля суми по даден номер на банкова сметка; • по даден номер на банкова сметка отпечатва сумата.
Задача 7: Да се състави подпрограма, която по дадено цяло число връща броя на различните му цифри. Като се използва тази подпрограма да се състави програма DIF.EXE, която въвежда от клавиатурата цяло положително число n(1n 100) и след това n на брой цели положителни числа и отпечатва тези от тях, които имат точно три различни цифри.
Задача 8: Да се състави програма MASIV1.EXE, която чете от клавиатурата цяло положително число n<=1000 и n реални числа и отпечатва на екрана колко от тях са равни на минималното от всички числа.
Задача 9: Да се състави програма MASIV2.EXE, която чете от клавиатурата цяло положително число n<=1000 и n на брой цели положителни числа и замества всички числа, равни на максималното със средното аритметично на всички числа. Новополучената редица да се изведе на екрана.
Задача 10: Да се състави програма MASIV3.EXE, която чете от клавиатурата цяло положително число n<=1000 и n на брой цели числа и отпечатва на екрана броя на числата равни на максималното отрицателно число. Ако няма такова число да се отпечата 0.