Петък, 26 Август 2011 06:58

решени задачи с функции

Написана от 
Оценете
(4 гласа)

Да се състави програма, чрез която във въведено естествено число N от интервала [1000..999999999] търси брой срещания на указана цифра C.
Пример: 12334567, 3 Изход: цифрата 3 се среща 2 пъти
Решение (свободен достъп)

Да се състави програма (C++), чрез която се въвежда естествено число N от интервала [10000..1000000] и K[2..9].
Програмата да изведе последните K цифри на числото M, като естественото число M се формира като степен с основа 2 и степенен показател сумата от всички цифри на N.
При повдигането на степен да се използва операция побитово преместване вляво.
Решение

Предварително се въведени N двойки естествени числа от интервала [10..255].
Да се състави програма (C++), чрез която се извеждат числата по двойки, извършва се преместване вляво, побитов OR с цел представяне на двете числа като едно единствено число.
След това програмата, чрез целочислено делене, от крайното число възстановява началните две.
Пример: N=5; 1: 13, 17; 2: 18, 23; 3: 18, 25; 4: 23, 45; 5: 44, 56
операция преместване: 1: 13*256 = 3328; 2: 18*256 = 4608; 3: 18*256 = 4608; 4: 23*256 = 5888; 5: 44*256 = 11264;
операция побитов OR: : 1: 13 OR 17 = 3345; 2: 18 OR 23 = 4631; 3: 18 OR 25 = 4633; 4: 23 OR 45 = 5933; 5: 44 OR 56 = 11320
Възстановяване: 3345/256=13, 3345%256=17; 4631/256=18, 4631%256=23; 4633/256=18, 4633%256=25; 5933/256=23, 5933%256=45; 11320/256=44, 11320%256=56;
Решение

Имало едно време двама приятели, които отдавна не се били срещали. И двамата имали една и съща професия - винари, сомелиери.
Разбрали се да се срещнат на следващия по-голям панаир на виното (под егидата на Международната асоциация на сомелие), като всеки донесе за продан само една част от реколтата си. И двамата имали добри специалисти, разбиращи енология и двамата си обичали професията.
Нашият проблем не е дали единия има повече или по-качествено вино от другия, а дали реколтата и на двамата поотделно може да се раздели на един и същ брой равни части.
Да се състави програма (C++), която по входни данни: 2 естествени числа от интервала [12..2002] извежда НОД на въведените числа.
Пример: 6,8 Изход: 2
Решение

Имате редица от естествени числа от интервала [2..20], които представляват знаменатели на отделни дроби.
Да се състави програма (C++), която чрез функция изчислява най-малкия общ знаменател от знаменателите на тази дроби.
Входни данни: 10 естествени числа от интервала [2..20].
Пример: 2,3,4,5,6,7,8,9,10,11 Изход: 2,2,2,3,3,5,7,11
Решение

Да се състави програма (C++), която по въведени 2 естествени числа, представляващи числител изнаменател на проста дроб, решава задачата за египетски дроби, т.е. да извежда отношението като сума от аликвотни дроби. Всяка от участващите в сумата дроби има 1 за числител, но е с различен знаменател.
Пример: 5 12 Изход: 1/3 + 1/12
Пример: 2 3 Изход: 1/2 + 1/4
Пример: 7 8 Изход: 1/2 + 1/3 + 1/24
Решение

В детската стая бавно зрее конфликт. Баткото Иван бърза за купон.
Но наставленията са ясни – първо работата, после удоволствието. Първо Мария си решава домашното по математика и едва тогава той е свободен.
А домашното .. дроби, дроби прости, дроби съставни, дроби периодични - крайни безкрайни. С една дума дроби!!!!
Ако и числителят, и знаменателят са съставни числа – лесно. Ако обаче само знаменателят е съставно – трябва много да се смята.
Моля, бъдете снизходителни и помогнете със следната програма:
Да се въведат две естествени числа N,M от интервала [13..123], представляващи съответно числител и знаменател. Програмата да изведе тази дроб като сума от дроби с числители само 1. Знаменателите не са непременно различни.
Пример: 13 45 Изход 1/45 + 1/15 + 1/5.
Пример: 34 36 Изход 1/9 + 1/3 + 1/2.
Решение

Да се състави програма (C++), чрез която се въвеждат естествени числа от интервала [0..5000] в редица - едномерен масив. Програмата да предоставя възможност за вмъкване на нов елемент или изтриване от редицата в зависимост от въведения избор, номер на елемент и неговата стойност.
Програмата преустановява работата си, ако не се избере вмъкване или изтриване на съществуващ номер на елемент. Началният номер на елемент в редицата е 0.
Пример: 41; 467; 334; 0; 169; 224; 478; 358; 462; 464; Изтриване 4
Изход: 41; 467; 334; 0; 224; 478; 358; 462; 464;
Решение

На поредния световен конгрес на сумистите се събрали 30 тона спортисти.
Да се състави програма (C++), чрез която по въведено общо тегло на сумисти и тяхното средно тегло се изчислява възможния брой спортисти.
Програмата да дава възможност потребителят да тества различни входни данни. Броят на опитите се определя от потребителя.
Общото тегло, в тонове, е естествено число от интервала [10..99]., а средното тегло, в килограми, е реално число от интервала [120.299].
Пример: 14 130 Изход: 108
Решение

Да се състави програма, чрез която се въвеждат 10 естествени числа от интервала [10..999].
Програмата да изведе числата с най-малка и най-голяма стойност, както и средната стойност от въведените числа.
Програмата да извършва проверка за валидност на въвежданите данни.
Пример: 12,19,18,13,15,16,17,10,11,14
Изход: минимално 10, максимално 19, средна стойност 14.5
Решение

От редицата естествени числа 1..11 са образувани 10 дроби. Да се състави програма (C++), чрез която се въвеждат посочените дроби. Всяка от дробите има за числител и знаменател случайни числа от указания интервал и се извежда тяхната сума като несъкратима дроб. Програмата да извежда НОК(най-малко общо кратно) – при превеждане на дробите под общ знаменател и НОД (най-голям общ делител) – при представянето на резултата като несъкратима дроб.
Пример: 9/11, 3/5, 11/7, 2/11, 7/2, 6/6, 11/3, 7/5, 6/9, 9/9
Изход: 14 цяло и 17/42.
Решение

Да се състави програма (C++), в която предварително са въведени повече от три естествени числа от интервала [2..1002]. Програмата да изведе най-големия общ делител на въведените числа.
Решение

Да се състави програма (C++), чрез която се въвеждат три естествени числа N,G,D, където N е брой числа [10..30], G - най-малкото случайно число, D - най-голямото случайно число. G,D са от интервала [10..99] и са различни.
Програмата да извършва обхождане на масив като:
а) чрез рекурсивна функция да се генерират и съхранят в масив N броя случайни числа от интервала {G..D];
б) чрез рекурсивна функция да се изведат във възходящ ред на номерата (индекса в масива) генерираните числа;
в) чрез рекурсивна функция да се изведат в низходящ ред на номерата генерираните числа
Решение

Да се състави програма, чрез която в двумерен масив, с брой колони А и брой редове B, се въвеждат псевдослучайни естествени числа от интервала [0..100].
Програмата да въведе в два други едномерни масива, поотделно само четните и нечетни въведени числа.
Чрез функция да се изведе броя на четните и нечетни числа.
Пример: A=5; B=6 Изход:
89; 9; 5; 94; 52; 56;
48; 36; 62; 87; 11; 85;
20; 8; 47; 17; 5; 60;
92; 46; 26; 60; 57; 2;
36; 76; 38; 25; 12; 62;
19 четни числа: 94; 52; 56; 48; 36; 62; 20; 8; 60; 92; 46; 26; 60; 2; 36; 76; 38; 12; 62;
11 нечетни числа: 89; 9; 5; 87; 11; 85; 47; 17; 5; 57; 25;
Решение

Организирана е среща на високо ниво. В една от залите има въртящ се бар, като всеки може да завърти плота и в двете посоки.
Да се състави програма, която по въведени брой позиции в бара [5..20], текуща позиция на клиента и позиция на желана напитка се избира най-късия път в кръга.
Пример: общ брой позиции 16, текуща 2, желана 14. Изход: плота се върти 4 позиции
Решение

Имате 2 правоъгълника, чиито страни са успоредни на ординатните оси.
Координатите на диагоналите са естествени числа от интервала [0..100].
Да се състави програма, която чрез функция по въведени координати за начало и край на диагоналите изчислява площ на припокриване (наслагване) на правоъгълниците.
Пример: 2,2,9,9 3,3,7,7 Изход: Обща площ: 16.
Решение

Прочетена 11110 пъти Последно променена в Петък, 14 Септември 2012 12:49