Вписване в сайта



съставно условие

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

Решение

  
//чрез цикъл премахвайте / извеждайте цифрите на числото отдясно-наляво
#include <iostream>
using namespace std;

int br_cifri(long chis, int cif)
{int br=0;
  while (chis>0) //dokato chisloto ima cifri <>0
  { if (chis%10==cif) br++;
   //ako e otkrita sywpadashta cifra broqt otkriti cifra narastwa s 1
    chis=chis/10;//reducirane na chisloto(mahane na poslednata cifra)
  }
 return br;
}

int main() 
{ int cif,br;
long chis;
  cout<<"Da se systawi programa, chrez koqto wyw wywedeno estestweno\n";
  cout<<"chislo ot interwala [1000..999999999] se tyrsi broj\n";
  cout<<"sreshaniq na ukazana cifra.\n";
  cout<<"Primer: 12345673 3 Izhod cifrata 3 se sresha 2 pyti\n";
  cout <<"Wywedete chislo: ";cin >> chis;
  cout <<"Wywedete tyrsenata cifra: ";cin >> cif;
  br=br_cifri(chis, cif);
  if (br) {cout<<"W chisloto "<<chis<<" sa otkriti "<<br<<" cifri "<<cif<<endl;}
  else cout<<"W chisloto "<<chis<<" nqma cifra "<<cif<<endl;
system("pause");
return 0;
}
Публикувана в функции - void
Понеделник, 24 Октомври 2011 15:00

задача със стринг - подравнен вдясно текст

Да се състави програма (C++), чрез която се въвежда текст (стринг), съставен от отделни думи.
За отделна дума се приема последователност от букви и/или цифри. Като разделител между всяка дума в текста се ползва поне 1 интервал.
По въведено естествено число N [40..70] програмата да изведе въведения текст, но подравнен вдясно в поле с ширина N броя букви.

Решение

За да видите решението на задачата, изпратете SMS с текст zadachi на номер 1092 - цената е 2.40 лв с ДДС. Получения код въведете в полето SMS код на страницата със задачата, чието решение искате да видите.

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

Използването на сайта предполага съгласие и съобразяване с условията за ползване.

Понеделник, 24 Октомври 2011 14:58

задача със стринг - центриран текст

Да се състави програма (C++), чрез която се въвежда текст (стринг), съставен от отделни думи.
Използваните знаци за всяка отделна дума са букви и/или цифри. Като разделител между всяка дума в текста се ползва поне 1 интервал.
По въведено естествено число N [40..70] програмата да изведе въведения текст, но вече центриран в поле с ширина N броя букви.

Решение

За да видите решението на задачата, изпратете SMS с текст zadachi на номер 1092 - цената е 2.40 лв с ДДС. Получения код въведете в полето SMS код на страницата със задачата, чието решение искате да видите.

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

Използването на сайта предполага съгласие и съобразяване с условията за ползване.

Понеделник, 24 Октомври 2011 14:56

задача със стринг - думи и брой букви

Да се състави програма (C++), чрез която се въвежда изречение (стринг), съставено от отделни думи.
Използваните знаци за всяка отделна дума са букви и/или цифри. Като разделител между всяка дума се ползва поне 1 интервал.
Програмата да изведе дължината на най-дългата дума от въведения стринг, както и:
в ред обратен на въвеждането им всички думи с четен брой букви;
по реда на въвеждането им всички думи с нечетен брой букви.
Пример: да се пресметне сумата 555 + 55 Изход: дължина 8
55 сумата да се
пресметне 555 +

Решение

За да видите решението на задачата, изпратете SMS с текст zadachi на номер 1092 - цената е 2.40 лв с ДДС. Получения код въведете в полето SMS код на страницата със задачата, чието решение искате да видите.

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

Използването на сайта предполага съгласие и съобразяване с условията за ползване.

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

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

Да се състави програма, чрез която във въведено естествено число 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.
Решение

Публикувана в функции - void
Вторник, 23 Август 2011 15:24

Решения на задачи със списък

Структура списък - решени задачи

четни и нечетни числа

Да се състави програма, чрез която се въвеждат естествено число N, принадлежащо на [1000..10000].
Програмата да изведе и запише в структура списък N броя псевдослучайни числа от интервала [100..1000].
Да се изведе съдържанието на списъка по реда на въвеждането му.
Да се изведе повторно съдържанието на списъка като:
първо се извеждат всички четни числа във възходящ ред, а след това всички нечетни числа също във възходящ ред.
Пример: 15 Изход: 141; 567; 134; 500; 369; 524; 778; 658; 962; 264; 405; 345; 881; 727; 161;
След сортиране: 134; 264; 500; 524; 658; 778; 962; 141; 161; 345; 369; 405; 567; 727; 881;

Решение (свободен достъп)

промяна на стойност

По въведено естествено число N от интервала [10..1000010], да се изведат и запишат в списък N броя псевдо случайни числа от интервала [100..999].
По въведено второ естествено число M от интервала [1..N] стойността от списъка в позиция M да се промени на M*M.
Да се изведе актуализираното съдържание на списъка.
Пример: N=10, M=5 Изход: 141; 567; 134; 500; 369; 524; 778; 658; 962; 264;
След обработка: 141; 567; 134; 500; 25; 524; 778; 658; 962; 264; 369;

Решение

минималния елемент

Да се състави програма, чрез която се въвежда естествено число N от интервала [10..100].
Да се генерират N броя псевдослучайни естествени числа от интервала [1..1000].
Числата да бъдат записани в едносвързан списък. Програмата да изведе: всички елементи на списъка по реда на въвеждането им, минималния елемент и средната стойност на въведените елементи.
Пример: 10 Изход: генерирани числа: 42 468 335 501 170 725 479 359 963 465
минималния елемент е:42; средна стойност 450.7

Решение

минимален брой събираеми

Да се състави програма, чрез която се въвежда естествено число N от интервала [10..100].
Да се генерират N броя псевдослучайни естествени числа от интервала [1..1000].
Числата да бъдат записани в едносвързан списък. Програмата да изведе всички елементи на списъка по реда на въвеждането им и тяхната обща сума.
Сумата да бъде представена и като сума от минимален брой събираеми, представляващи произведения от степени на 11.
Пример: 10 Изход: генерирани числа: 42 468 335 501 170 725 479 359 963 465
Обща сума = 4507 = 3*1331 + 4*121 + 2*11 + 8*1

Решение

делители на число

Да се състави програма, чрез която се въвежда естествено число N от интервала [2...15].
Програмата да генерира, изведе и запише в списък N броя псевдослучайни едноцифрени числа.
От всички въведени цифри да се формира ново естествено число M.
Да се изведат всички делители на новото число M или съобщение, че въведеното число е просто.
Пример: N=5; Изход: 97257;
делители: 3 и 32419; 17 и 5721; 51 и 1907

Решение

сума на елементи

Да се състави програма, чрез която се въвежда естествено число N от интервала [5..105].
Програмата да генерира, изведе и запише в списък N броя псевдослучайни числа от интервала [1..1001].
Към всяко четно число от списъка да се добави 1 и отново да се изведе съдържанието на списъка.
Да се изведе общата сума на новите елементи в списъка.
Пример: N=10
Начално състояние: 42 468 335 501 170 725 479 359 963 465
След обработване: 43 469 335 501 171 725 479 359 963 465
обща сума на елементи: 4510

Решение

сито на Ератостен

Да се състави програма, чрез която се въвежда естествено число N от интервала [10..10000001].
Програмата да изведе и запише в структура списък всички прости числа от интервала [2..N].
Използвайте алгоритъм "сито на Ератостен" за формиране елементите на списъка.
Пример: N=64
Изход: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61

Решение

равни и близки стойности

Да се състави програма, чрез която се въвеждат 2 естествени числа N и M, принадлежащи на [5..105].
Програмата да изведе и запише в структура списък N броя псевдослучайни числа от интервала [0..101].
От списъка да бъдат изтрити всички елементи с равни и близки стойности, чиято разлика между стойностите не надвишава числото M.
Да се изведе новото съдържание на списъка.
Пример N=20, M=5
Изход: 72; 66; 93; 59; 85; 26; 93; 10; 51; 58; 32; 11; 49; 87; 70; 31; 24; 26; 21; 12;
След изтриване на равни и близки стойности: 10; 21; 31; 49; 59; 70; 85;

Решение

последователност от скоби

В алгебричен израз чрез последователност скоби се указва приоритет за изпълнение на отделните действия. Правилният запис изисква броят на левите и десните скоби да е еднакъв.
Друго задължително изискване за правилната последователност от скоби е броят на левите скоби да не превишава броят на десните в нито една част на израза. Двойките, отваряща и затваряща, скоби могат да се комбинират по различни начини.
Пример:
1 двойка (); 1 начин
2 двойки () (); (()); 2 начина
3 двойки: ((())); ()(()); ()()(); (())(); (()()); 5 начина
Да се състави програма, чрез която в списък се записват всички верни последователности от 1..35 двойки скоби и по въведено число N се извежда броят верни последователности.

Решение

равно отдалечени елементи

Да се състави програма, чрез която се въвеждат естествено число N, принадлежащо на [5..105]. Програмата да изведе и запише в структура списък N броя псевдослучайни числа от интервала [0..101].
Да се изведе съдържанието на списъка по реда на въвеждането му. Елементите в списъка да бъдат сортирани във възходящ ред и изведени по двойки.
Във всяка двойка елементите са равно отдалечени от средата на списъка. Да се изведе и сумата на всяка двойка елементи.
Пример: 10 Изход: 41; 47; 34; 40; 29; 4; 18; 18; 22; 44;
След сортиране:
суми на равно отдалечени елементи: 4 + 47 = 51; 18 + 44 = 62; 18 + 41 = 59; 22 + 40 = 62; 29 + 34 = 63

Решение

максимална повърхнина

По въведено име на файл с директен достъп се записват данни за основни ръбове и апотема на страна за N броя пресечени правилни четириъгълни пирамиди. h е апотема на околна страна,a и b са дължини на основни ръбове. Всички те са естествени числа от интервала [1..99]. Програмата да чете данните от файла и да ги записва в структура списък. Да се изведе изчислената максимална пълна околна повърхнина на пресечена пирамида. Пример: N=5 Изход: a=60;b=41;h=9;a=1;b=56;h=76;a=78;b=41;h=29;a=31;b=13;h=75;a=34;b=15;h=23; максимална повърхнина S: 14667 за: a=78, b=41, h=29

Решение

прости и съставни числа

Да се състави програма, чрез която се въвежда естествено число N от интервала [2..1000002].
Програмата да генерира N броя псевдослучайни числа от интервала [2..1000002] и да ги запише в списък.
Да се изведат две отделни наредени редици. Първата редица съдържа всички прости числа измежду въведените, а втората останалите съставни числа.
Пример: N=10. Изход: 19118; 2650; 11912; 27141; 2453; 26460; 5456; 32648; 18134
прости числа: 19993
съставни числа: 2453; 2650; 5456; 11912; 18134; 19118; 26460; 27141; 32648

Решение

триъгълник на Паскал

Да се състави програма, чрез която се въвежда естествено число N от интервала [2..55]. Програмата да изведе съответните коефициенти на бинома (x+1) повдигнат на степен N.
Изчислените биномни коефициенти са елементи от триъгълник на Паскал и се съхраняват в списък. Пример: N=4 Изход:
степен 0: 1
степен:1: 1 1
степен:2: 1 2 1
степен:3: 1 3 3 1
степен:4: 1 4 6 4 1
Указание: всеки ред от триъгълника на Паскал с номер 2 и по-голям се извежда от предходния ред. Елементите са сума от съответните два елемента от предходния ред.

Решение

изтриване на елемент

Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [5..105], като N>M.
Програмата да генерира, запише в първи списък и изведе N броя трицифрени псевдослучайни. Да се генерират и запишат във втори списък M числа, които представляват номера на елементи от първия списък.
Във втория списък да се отстранят всички повтарящи се стойности.
Да се изведат всички стойности от първия списък, които трябва да се изтият, както и актуализираното състояние на първия списък след изтриване на указаните елементи.
Пример: N=6 M=2 Изход:
първи списък: 1:749; 2:874; 3:606; 4:782; 5:670; 6:218;
втори списък с номера за изтриване: 6,4
съдържание на списъка след изтриване на елементи: 1:749; 2:874; 3:606; 4:670

Решение

изтриване на равни елементи от два списъка

Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [5..105]. Програмата да генерира, запише в списък и изведе две редици от псевдо случайни трицифрени числа.
Да се изтрият равните елементи - числа, както от всеки списък, така и принадлежащите и на двата списъка. Да се изведе актуализираното съдържание на списъците. Пример: N=10, M=10 Изход:
Списък I: 1:104; 2:108; 3:119; 4:120; 5:125; 6:129; 7:132; 8:135; 9:137;
Списък II: 1:104; 2:109; 3:119; 4:126; 5:127; 6:131; 7:137; 8:147; 9:148;
изтриване на равни елементи: 104, 119, 137
Съдържание на двата списъка:
1:108; 2:120; 3:125; 4:129; 5:132; 6:135;
1:109; 2:126; 3:127; 4:131; 5:147; 6:148;

Решение

вмъкване на елементи

Да се състави програма, чрез която се въвежда естествено число N от интервала [5..105].
Програмата да генерира, запише в списък и изведе N броя от псевдо случайни трицифрени числа.
Списъкът да се сортират във възходящ ред, като се изтрият равните стойности. Останалите елементи на списъка да се разглеждат по съседство два по два. Всяка двойка от тях формира граница на даден интервал.
Програмата да вмъкне в списъка нови елементи - всички числа, принадлежащи на тези граници.
Пример: N=5 Изход: 107; 126; 112; 101; 104
След сортиране: 101, 104; 107, 112; 126
След вмъкване на новите елементи: 101, 102, 103, 104, 107, 108, 109, 110, 111, 112, 126

Решение

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

Входни данни: естествено число N от интервала [5..105].
Програмата да генерира, запише в списък и изведе дълго число с N броя от псевдо случайни цифри.
Да се формира най-голямото естествено дълго число със същите цифри и да се изведе като сума от произведения на два множителя. Първият множител е число с еднакви цифри, а втоеият е степен на 10.
Пример: N=25 Изход:2314157164412561695429100
дълго число като сума от произведения: 9976665554444322211111100 = 99*10^23 + 7*10^22 + 666*10^19 + 555*10^16 + 4444*10^12 + 3*10^11 + 222*10^8 + 111111*10^2

Решение

палиндром със същите цифри

Входни данни: естествено число N от интервала [2..10002].
Програмата да генерира, запише в списък и изведе дълго число с N броя от псевдо случайни цифри.
Да се изведе възможно най-късия палиндром - естествено число, което има всички по брой и вид цифри.
Пример: N=12 Изход: 773630402697
най-къс палиндром със същите цифри: 977643020346779

Решение

списък_промяна_стойности

Входни данни: естествено число N от интервала [10..1010].
Програмата да генерира, запише в списък и изведе N броя от псевдо случайни трицифрени числа.
Всички елементи на списъка да променят, увеличат стойността си с поредния си номер.
Пример: N=10 Изход: 614 597 138 893 352 517 528 428 314 395
след промяна стойности на елементите: 615 599 141 897 357 523 535 436 323 405

Решение

елементи на кратна позиция

Входни данни: две естествени числа N и M от интервала [10..1010].
Програмата да генерира, запише в списък и изведе всички естествени числа от интервала [1..N]. Числото M Да се изтрият последователно всички елементи от началния списък, намиращи на позиция, кратна на M.
Процесът на изтриване на числата продължава, докато броя елементи в началния списък стане M-1.
Пример: N=64, M=10 Изход: първите няколко изтрити елемента са: 10 20 30 40 50 60 6 17 28 39 51 62 9 22....
след изтриване на всички елементи на кратна позиция са останали: 2 3 18 32 36 42 45 47 59

Решение

сортиране чрез пряко вмъкване

По въведено естествено число N от интервала [5..105], програмата да генерира, изведе и запише в списък N броя трицифрени числа.
Да се илюстрира алгоритъм за сортиране - пряко вмъкване, т.е. последователно всеки нов елемент се вмъква на подходящото място спрямо предходните елементи от списъка.
Пример: N=10 Изход: 548 335 491 122 507 889 896 397 708 203
548
335 548;
335 491 548;
122 335 491 548;
122 335 491 507 548;
122 335 491 507 548 889;
122 335 491 507 548 889 896;
122 335 397 491 507 548 889 896;
122 335 397 491 507 548 708 889 896;
122 203 335 397 491 507 548 708 889 896;

Решение

общ брой инверсии

По въведено естествено число N от интервала [5..105]. програмата да генерира, изведе и запише в списък N броя трицифрени числа.
Да се изведе съобщение дали списъкът е сортиран във възходящ ред.
Ако не е, да се изведат брой инверсии в списъка, т.е. колко броя елементи с по-висока стойност са пред елементи с по-малка стойност.
Пример: N=10 Изход: 285, 257, 397, 589, 842, 805, 678, 907, 194, 650;
общ брой инверсии в списъка: 16

Решение

сума от степени

По въведено естествено число N от интервала [2..10002] програмата да генерира, изведе и запише в списък дълго число с N броя цифри.
Второто въведено естествено число е M от интервала [2..10002]. Програмата да представи числото N като сума от произведения на степени, съдържаща минимален брой елементи. Всички те са елементи на списък.
Единият множител е уникална степен на M, а другият число от интервала [0..M-1].
Пример: N=10; M=9; Изход: дълго число 1316598806
сума от степени :3*9^9 + 3*9^8 + 5*9^7 + 2*9^6 + 3*9^5 + 6*9^4 + 4*9^3 + 0*9^2 + 2*9^1 + 2*9^0

Решение

кратно на 11

Да се състави програма, чрез която се въвежда естествено число N от интервала [5..100005].
Програмата да генерира дълго число съдържащо N броя цифри и да го записва в списък.
Да се изведе резултата от проверката дали дългото число е кратно на 11, 44, 55 или 66.
Пример: N=16 Изход: 1590180812399652
кратно на 11
кратно на 44
не е кратно на 55
кратно на 66

Решение

умножение на два полинома

Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [2..4004].
Програмата да генерира 2 редици съдържащи съответни N и M броя псевдослучайни естествени числа и да ги записва в списък.
Числата, елементи на списъка, представляват коефициенти пред съответните степени на два полинома.
Да се изведе резултата от умножение на двата полинома.
Пример: N=5; M=3 Изход:
Коефициенти в полином 1: 8 39 10 60 21 37
Коефициенти в полином 2: 5 54 1 17
резултат от умножение на двата полинома: 40 627 2164 1015 4018 1549 3039 394 629

Решение

степенуване на полином

По въведени две естествени числа N и M от интервала [2..12] програмата да генерира и запише в списък N броя псевдослучайни естествени числа.
Числата, елементи на списъка, представляват коефициенти пред съответните степени на полином.
Числото N дава най-високата степен в полинома, а M на коя степен се повдига, степенува полинома.
Да се изведе резултата от степенуване на въведения полином.
Пример: N=1; M=10 Изход:
Коефициенти в полином: 1, 1
резултат след степенуване на полином: 1 10 45 120 210 252 210 120 45 10 1

Решение

точки и триъгълник

Да се състави програма, чрез която се въвеждат координатите на N броя точки.
N е естествено число от интервала [3..1003], а координатите на точките са естествени числа от интервала [0..99].
Координатите на всяка точка се записват във файл. Програмата да прочете информацията от файла и да я запише в структура списък.
Да се изведе триъгълника с най-голямото лице, чийто върхове са кои да е три съседни точки от списъка.
Пример: N=6 точки: 78, 87; 55, 77; 90, 12; 89, 89; 61, 58; 29, 6
най голямо лице е S = 1315 на триъгълник с върхове точки: 55,77; 90,12; 89,89

Решение

върхове на квадрат

Да се състави програма, чрез която се въвеждат координатите на N броя точки.
N е естествено число от интервала [3..1003], а координатите на точките са естествени числа от интервала [0..99].
Координатите на всяка точка са записани във файл. Програмата да прочете информацията от файла и да я запише в структура списък.
Да се изведат всички двойки точки, които представят диагонал на квадрат.
Пример: N=10 точки: 66,88; 86,8; 36,49; 17,25; 17,79; 2,96; 50,46; 81,38; 37,72; 59,94
Изход:
квадрат с върхове 17,79; 50,46; е с лице: 1089
квадрат с върхове 37,72; 59,94 е с лице: 484

Решение

цифри на дълго число

Да се състави програма, чрез която се въвежда естествено число N от интервала [25..1000002]. Програмата да генерира дълго число с N броя псевдослучайни цифри и да го запише в структура списък.
Да се изведе огледалното представяне на дългото число, както и броя на отделните цифри.
Пример: N=25 дълго число: 3960542981778178807045614
огледално дълго число: 4165407088718771892450693
въведеното дълго число има следния по брой и вид цифри:
9*2 + 8*4 + 7*4 + 6*2 + 5*2 + 4*3 + 3*1 + 2*1 +1*3 +0*3

Решение

равни суми

Да се състави програма, чрез която се въвежда естествено число N от интервала [10..10000]. Програмата да генерира и запише в списък N броя псевдослучайни числа от интервала [10..100].
Числата представляват стойности, които трябва да се разделят по равно, на две равни суми.
Да се изведе резултат от проверката дали е възможно елементите на списъка да формират две равни суми, т.е. дали предметите могат да бъдат разделени на две групи с максимална разлика 1 в крайните суми.
Пример: N=11 числа: 67, 52, 97, 36, 35, 84, 61, 75, 85, 55, 77 = 724
I-ва част: 75, 35, 36, 97, 52, 67 = 362
II-ра част: 85, 55, 77, 61, 84 = 362

Решение

първия ред от файл

Съществува предварително сортиран текстов файл. Да се състави програма, чрез която се чете началния файл и се записва съдържанието му в структура списък.
Програмата да изведе в друг файл само първия ред от множество съседни редове, чийто леви N знака са повтарящи се леви N знака за 2 и повече съседни реда.
Максималната дължина на ред е 256 символа, N е естествено число от интервала [1..20].
Примерна последователност за N=4: abcd111, abcd2222,abcd333
Изход: abcd111

Решение

прости делители

Да се състави програма, чрез която се записват във файл N броя псевдослучайни естествени числа от интервала [100..10000]. N е естествено число от интервала [3..1003].
Програмата да запише в структура списък всички числа от файла и да изведе: уникалните прости делители на прочетените числа, сумата от простите делители, както и сумата на нейните уникални прости делители.
Пример: N=5 Изход: 5809, 8431, 9926, 1147,
сума на прости делители: 2, 7, 31, 37, 157, 709, 4073, 8431 = 13447
сума на уникални прости делители: 13447: 7+17+113 = 137

Решение

сортиране на файл

Да се състави програма, чрез която се записват във файл N броя реални числа. N е естествено число от интервала [3..1003].
Програмата да запише в структура списък всички числа от файла и да ги изведе, сортирани във възходящ ред, в нов файл.
Пример: N=7 Изход: 155.99;174.27;145.12;371.06;105.72;293.22;160.96
след сортиране на файла: 105.72;145.12;155.99;160.96;174.27;293.22;371.06

Решение

естествено число в код на Грей

Да се състави програма, чрез която се въвеждат естествено число N, принадлежащо на интервала [5..105]. Програмата да изведе и запише в структура списък N броя псевдослучайни числа от интервала [0..101]. Въведените числа да се представят и в код на Грей.
Да се изведе съдържанието на списъка по ред обратен на въвеждането му по следния начин: въведеното число в 10-ична и 2-ична бройна система, същото число в код на Грей в 10-ична и 2-ична бройна система.
Пример: 4 Изход: 47; 34; 40; 29;
число 29 = 11101; в код на Грей 19 = 10011
число 40 = 101000; в код на Грей 60 = 111100
число 34 = 100010; в код на Грей = 110011
число 47 = 101111; в код на Грей = 111000

Решение

минимален остатък

Съществуват две групи правоъгълници A и B с размери на страните естествени числа. Размерите не са непременно различни..
Трябва да се изберат такива двойки правоъгълници от двете групи, че да същестува минимален остататък при наслагването им.
Да се състави програма, чрез която се въвеждат две естествени числа N>M. Програмата да генерира съответно N и M двойки естествени числа, които да се записват в списък..
Да се изведе резултата от подбора на възможните двойки, така че да съществува минимален остатък при изрязване на правоъгълник от първата група на съответен правоъгълник от втората група..
Пример: N=8, M=3
списък 1: 872,760; 359,136; 854,837; 880,805; 994,905; 357,141; 323,310; 791,360;
списък 2: 954,873; 839,108; 765,359;
минимален остатък: 994,905>=954,873;
минимален остатък: 854,837>=839,108;
минимален остатък: 791,360>=765,359;
оставащи в списък 1: 323,310; 357,141; 359,136; 872,760; 880,805;

Решение

Да се състави програма (C++), чрез която се въвежда естествено число N от интервала [5..1005].
Програмата да генерира N броя псевдослучайни естествени числа от интервала [10..99] и да ги запише в списък.
Тези числа са елементи от 1-вия ред на квадратна таблица.
Да се изведат останалите N-1 реда на таблицата, като във всеки следващ ред новите числа са преместени с 1 позиция наляво.
Първото число на предходния ред е заело последната позиция.
Програмата да изведе всички редове на квадратната таблица.
Пример: N = 6, числа: 68 60 14 69 58 82 Изход:
68 60 14 69 58 82;
60 14 69 58 82 68;
14 69 58 82 68 60;
69 58 82 68 60 14;
58 82 68 60 14 69;
82 68 60 14 69 58;

Решение
Вторник, 27 Юли 2010 11:19

задачи с рекурсия

Да се състави програма на C++, която извежда сумата на всички числа от интервала 1 до въведено число.
Входни данни: естествено число от интервала [10 - 30000].
Пример: 5 Изход: 15
Използвайте рекурсия
Решение (свободен достъп)

Да се състави програма на C++, която извежда факториела на въведено число n! = n*(n-1)*(n-2)*..*2*1.
Входни данни: естествено число от интервала [10 - 20].
Пример: 5 Изход: 120
Използвайте рекурсия
Решение

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

Да се състави програма на C++, която проверява има ли определена цифра във вече въведено число.
Входни данни: естествено число от интервала [10 - 30000] и цифра.
Пример: в числото 2345 има цифра 2, но в числото 7654 няма.
Използвайте рекурсия
Решение

Да се състави програма на C++, която изчислява ред на Фибоначи.
Число с пореден номер >2 се образува като сбор от числата с поредни номера n1 и n2.
Пример: 5 Изход: 5
Използвайте рекурсия
Решение

Да се състави програма на C++, която изчислява произведение на две естествени числа =>2, като се използва само събиране. Входни данни: 2 естествени числа от интервала [2 - 100].
Пример: 4, 5 Изход: 20
Използвайте рекурсия
Решение

Да се състави програма на C++, която изчислява квадрата на естествено число =>2, като при това не ползва умножение/степенуване. Входни данни: естествено число от интервала [2 - 100].
Пример: 5 Изход: 25
Използвайте рекурсия
Решение

Да се състави програма на C++, чрез която се въвеждат символи до въвеждането на знака 'Z'. Програмата да изведе всички въведени символи в ред обратен на въвеждането им.
Пример: ACDFZ Изход: ZFDCA
Използвайте рекурсия
Решение

Да се състави рекурсивна функция, чрез която се въвеждат естествени числа от интервала [10 .. 100] от 10-ичната бройна система, а ги извежда в посочена от потребителя бройна система от интервала [2 .. 9]
Пример: 15, 2 Изход: 1111
Използвайте рекурсия
Решение

Да се състави програма на C++, чрез която се извършва степенуване на число от интервала [9.99 .. 9.99]. Степенният показател е цяло число от интервала [-5..5].
Пример: 15, 2 Изход: 225
Използвайте рекурсия
Решение

Задачата за Ханойски кули се състои в преподреждане на различни по диаметър дискове.
Имате 3 оси, на които можете да поставяте дисковете. Имате право да местите само по един диск - най-горния, от която и да е ос, и трябва да го поставите най-отгоре на желана от Вас ос. Нямате право да да местите диск, ако има диск извън една от 3-те оси.
Да се се състави програма за решаване на задачата "Ханойски кули".
Входни данни: естествено число от интервала [2..5].
Вход: 3
Изход:
Преместете диск 2 от A на B
Преместете диск 1 от C на B
Преместете диск 3 от A на C
Преместете диск 1 от B на A
Преместете диск 2 от B на C
Преместете диск 1 от A на C
Използвайте рекурсия
Решение

Да се състави програма на C++, чрез която се осъществява бързо вдигане на степен.
Входни данни: основа - реално число [10.1..99.9] и степенен показател естествено число от интервала [3..10].
Използвайте рекурсия
Решение

Имате предварително въведени стойности в масив от 9 числа от интервала [-99.99..99.99].
Да се състави програма на C++, която извеждащ минималния елемент от масива.
Използвайте рекурсия
Решение

Да се състави програма на C++, чрез която се въвеждат 9 реални числа от интервала [-99.99..99.99].
Проверете дали въведената редица е монотонно нарастваща.
Пример: 1 2 3 3 е, но 1 3 2 4 не е монотонно нарастваща
Използвайте рекурсия
Решение

Да се състави програма на C++, която проверява дали въведено естествено число е просто.
Пример: 101 Изход: просто
Използвайте рекурсия
Решение

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

Намерете двуцифрено естествено число xy, за което се въвеждат сборът от цифрите 'x+y' и разликата между числата 'yx - xy'.
Да се състави програма на C++, която по въведени сбор и разлика извежда цифрите на числото.
Пример: Сбор x + y = 12; Разлика yx - xy = 36.
Изход: 48
Използвайте рекурсия
Решение

В една от книгите игри главният герой се изправя пред последната преграда, деляща го от белия свят - вълшебно огледало. Той трябва да научи магическата дума за отваряне на вратата. Героят пише заклинание, а огледалото, ако е в настроение му отговаря правилно.
И понеже обстановката е мистична героят пише, но нищо не се вижда. След като се въведе текста с Enter се изписва всичко въведено, но в обратна последователност. Огледалото извежда видим текст, който се състои само от цифри и главни букви, участващи във въведения текст.
Да се състави програма на C++, чрез която с рекурсивна функция се въвежда низ с дължина [10..9999] знака. Въвеждането спира след натискане на клавиша Enter, като при въвеждането не се изписва нищо на екрана.
Програмата да изведе 1) въведения текст в обратна последователност на въвеждането, 2) по реда на въвеждането всички цифри и накрая в същия ред само главните букви.
Пример: rekursiq13
Изход: 31aisrukeR отговор огледало 13R, брой въведени символи 10.
Използвайте рекурсия
Решение

Да се състави програма на C++, чрез която се извежда триъгълник от букви.
Първият ред на триъгълника започва с А и завършва с въведената главна латинска буква. Във всеки следващ ред крайният знак е с 1 по-малък (по ASCII код).
Пример: D
Изход:
A B C D
A B C
A B
A
Използвайте рекурсия
Решение

Да се състави програма на C++, чрез която се въвежда естествено число N от интервала [12..1234567].
Програмата да извежда число, чиито цифри са написани в ред обратен на въведеното число.
Да не се въвеждат числа кратни на 10. Да се извежда съобщение дали въведеното число е палиндром.
Пример: 12321 Изход: 12321 да.
Използвайте рекурсия
Решение

Иван е запален по билярд. Купил си е множество топки и непрекъснато си играе с тях. Майка му се сърди, че в стаята е вечно разхвърляно и няма къде да се стъпи на пода.
Иван решава да подреди всичките си топки на триъгълник – на всеки нов ред всяка от топките се слага между две топки от предходния ред.
Да се състави програма на C++, чрез която по въведено естествено число N от интервала [2…202020] се извежда дали най-горният ред ще съдържа само една топка при спазване на горните изисквания.
Пример: 55 Изход: Да
Използвайте рекурсия
Решение

Имате две цели числа M и N от интервала [-102..102].
Да се състави програма на C++, която намира най-големия общ делител на M и N.
Пример: 18,-39 Изход 3
Използвайте рекурсия
Решение

Имате реално число M от интервала [2.99..10002.99]. Броят цифри в числото, след десетичната точка е от интервала. [2..4].
Да се състави програма на C++, която намира най-малкото цяло число N, което съдържа всички цифри на M, подредени в същата последователност.
Пример: 18.39 Изход: 1839
Използвайте рекурсия
Решение

Имате реално число M от интервала [2.99..10002.99]. Броят цифри в числото, след десетичната точка е от интервала. [2..4]. Имате и друго, естествено число P от интервала [2..1002].
В случая M е делимо, P делител. Търсим дали частното N/P е рационално число, чийто брой цифри след десетичната запетая е по-малък или равен на броя съответни цифри в делимото M.
Да се състави програма на C++, която извежда отговор дали условието се изпълнява (дали броя цифри в частното след десетичната запетая е <= на съответния брой цифри в делимото.
Пример: 18.39; 3
Изход: Да. 6.13
Използвайте рекурсия
Решение

Наближава Коледа и трябва да се подготви тържеството.
Учениците от един клас решили хоро да играят. Дотук добре, обаче..
Не могат да се разберат кой с кого да се хване. Стоят и се препират вместо да репетират.
Да се създаде програма, чрез която се въвежда броя на участниците - естествено число N от интервала [2..22]. Програмата да изчислява и извежда брой различни подреждания на участниците в хорото.
Пример: 5 Изход: 24
Използвайте рекурсия
Решение

Имате линейно Диофантово уравнение представно чрез коефициентите си: Ax + By = C, където A, B, C са естествени числа от интервала [1..24].
Да се състави програма на C++ за намиране възможно решение с цели числа.
Пример: 3, 4, 43
Изход: x=1, y=10
Използвайте рекурсия
Решение

Имате предварително въведен редица от естествени числа, принадлежащи на интервала [0..1010].
Да се състави програма, ползваща рекурсивни функции, чрез която се извежда дали има повтарящи се елементи в редицата.
Пример: 1,3,4,5,6,7,8,9,1
Изход: Има повтарящи се елементи.
Решение

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

Да се състави програма, която чрез рекурсивна функция, извежда неповтарящата се част от таблицата за умножение.
Пример: 6 Изход:
1 2 3 4 5 6
4 6 8 10 12
9 12 15 18
16 20 24
25 30
36
Решение

Да се състави програма, използваща рекурсивна функция, чрез която се генерират всички вариации без повторение на естествени числа, от k елемента, клас m.
Числата k и m са естествени числа от интервала [2..30], като k >= m.
Да се извежда на отделен ред: пореден номер вариация и всеки от участващите в нея елементи – естествени числа от интервала [1.. k].
Пример: брой елементи 4, клас 2 Изход: 12,13,14, 21,23,24,31,32,34, 41,42,43
Решение

Да се състави програма, използваща рекурсивна функция за изчисляване на броя възможни комбинации от N на брой различни елементи по M елемента.
M, N са естествени числа от интервала [5..15], а N е по-голямо от>M.
Пример: 5,3 Изход: 10
Решение

Да се състави програма (C++), използваща рекурсивна функция, чрез която се генерират всички комбинации без повторение от k елемента, клас m на част от буквите на латинската азбука.
Числата k и m са естествени числа от интервала [3..26].
Да се извежда на отделен ред: пореден номер комбинация и всеки от участващите в нея елементи – главна латинска буква.
Пример: брой елементи 4, клас 2 Изход: A-B; A-C; A-D; B-C; B-D; C-D
Решение

Да се състави програма (C++), която по въведено естествено число N от интервала [2..20] извежда сумата на всички факториели на числата от 1 до въведеното.
Пример: 5 Изход 154
Да се използва рекурсия.
Решение

При изчисляване на факториел от естествено число N се взема произведението от N и всички предшестващи го естествени числа.
Аналогично при двоен факториел се взема произведението от N и всички естествени числа през 1.
Ако N е нечетно число, то N!!=1*3*5*7...*(N-4)*(N-2)*N.
Ако N е четно число, то N!!=2*4*6*8...*(N-4)*(N-2)*N.
Да се състави програма (C++), чрез която се въвежда естествено число N и се извежда двоен факториел N!!
Да се използва рекурсия.
Решение

Има една популярна игра, състояща се в следното: трябва да се вземат определен брой предмети от една купчина. Играчите са двама, предварително се разбират по колко най-много предмети могат да вземат, когато са на ход - естествено число N от интервала [5..25].
Целта е намиране на такава стратегия, че за противника да не остане нищо - последният, който не може да вземе предмет губи.
Играят компютър срещу човек. Играчът определя N, а компютърът общия брой предмети - квадрата на въведеното число и започва пръв.
Да се състави програма (C++), чрез която се реализира описаната игра. Програмата, чрез рекурсия, да определя колко предмета се вземат от компютъра за всеки отделен ход.
Да има защита срещу некоректни входни данни.
Решение

В класическия алгоритъм на Евклид, за намиране на най-голям общ делител (НОД) за двойка естествени числа е: от по-голямото число се води по-малкото до тяхното изравняване.
Полученото число е техния НОД, ако той е 1 числата са взаимно прости.
Има разновидност на този алгоритъм, при която не се ползва изваждане, а целочислено делене.
Имате въведени 2 естествени числа M, N от интервала [22..222].
Да се състави програма (C++), която чрез рекурсия намира НОД. В рекурсивната функция да се ползва целочислено делене.
Пример: 121, 99 Изход: 11
Решение

Един от примерите за диофантово уравнение, чиито решения са цели числа, са страните в правоъгълен триъгълник - пряко следствие от теоремата на Питагор a*a + b*b = c*c, където c е дължина на хипотенузата, a,b са дължини на катетите.
Такива тройки взаимно прости числа могат да бъдат получени и чрез следните формули:
a = M*M – N*N; b = 2*M*N, c=M*M + N*N, където M, N са естествени числа и M е по-голямо от N.
Да се състави програма (C++), чрез която се въвежда M – естествено число от интервала [2..102] и чрез рекурсивна функция се извеждат всички възможни питагорови тройки числа, изчислени по описания алгоритъм за M.
Пример: 4 Изход: 15,8,17; 12,16,20, 7,24,25
Решение

Да се състави програма (C++), чрез която по въведено реално число x от интервала [1..255] се изчислява корен квадратен по метода на Нютон.
Входни данни: x - подкоренна величина, gr - допустима грешка.
Пример: 2,.001 Изход: 1.4142.
Да се използва рекурсия.
Решение

Да се състави програма (C++), чрез която се сортират 40 случайно избрани естествени числа от интервала [100..999].
Метод на сортиране пряка размяна (метод на мехурчето).
Сортирането да бъде във възходяща последователност на стойностите и осъществено чрез рекурсия.
Решение

Да се състави програма (C++), чрез която се сортират 24 случайно избрани естествени числа от интервала [100..999].
Метод на сортиране пряко вмъкване (метод на картоиграча).
Сортирането да бъде в низходяща последователност на стойностите и осъществено чрез рекурсия.
Решение

Да се състави програма (C++), чрез която се сортират 40 случайно избрани естествени числа от интервала [1000..9999].
Да се използва алгоритъм за сортиране пряка селекция (метод на прекия избор).
Сортирането да бъде във възходящ ред на стойностите и осъществено чрез рекурсия.
Решение

Да се състави програма (C++), чрез която се въвежда естествено число N от интервала [10..100010].
Програмата да извежда най-близкото по-голямо просто число.
Пример: 98 Изход 101
Да се използва рекурсия.
Решение

Да се състави програма (C++), чрез която се въвежда естествено число N от интервала [10..10010] и се извежда сумата на цифрите му.
Пример: 15 Изход: 6
Използвайте рекурсия.
Решение

Да се състави програма (C++), чрез която се въвеждат числата N и М и се извежда сумата от цифрите на всички числа от числовия интервал [N..M].
N, M са естествени числа от интервала [1..10001].
Програмата да не прави разлика за начало и край на числовия интервал.
Пример: 15,10 Изход: 21
Използвайте рекурсия.
Решение

Да се състави програма (C++), чрез която се показва сходимостта и се изчислява сумата на рекурентна редица с общ член: 1 + 1/n^2.
Чрез знака ^ е означено повдигане на степен.
Изчисленията продължават до достигане на по-малка, предварително определена зададена разлика между два съседни члена от редицата.
Пример: 0.001 Изход: обща сума 13.576
Използвайте рекурсия.
Решение

Да се състави програма (C++), която показва сходимостта и изчислява сумата на редица с общ член: 3*n+1/(3*n-1).
Изчисленията продължават до достигане на по-малка, предварително определена зададена разлика между два съседни члена от редицата.
Пример: 0.001 Изход: обща сума 30.0802
Използвайте рекурсия.
Решение

Да се състави програма (C++), която чрез рекурсивна функция показва сходимостта и изчислява сумата на редица с общ член: (2*n-3)/n
Изчисленията продължават до достигане на по-малка, предварително определена зададена разлика между два съседни члена от редицата.
Пример: 0.001 Изход: обща сума 98.1656
Решение

Дадена е рекурентна редица - аритметична прогресия, чиито членове са дроби с числител 1 и знаменател последователни естествени числа:
1, 1/2, 1/3, 1/4 .. 1/n, където n е естествено число от интервала [10..100].
Да се състави програма (C++), която изчислява сумата от членовете на тази рекурентна редица за определен брой членове - n. Използвайте рекурсия.
В рекурсивната функция да се извежда стойността на всеки отделен член на прогресията.
Пример: 5 Изход: 2.28333
Решение

Да се състави програма (C++), чрез която се въвеждат: начален член a, разлика - d и брой елементи - n на аритметична прогресия и се извежда сумата от всички членове на прогресията.
Числата a и d са реални от интервала [1.1 - 99.9].
Пример: a=1, d=1.1, n=6 Изход: 22.5.
Използвайте рекурсия.
Решение

Да се състави програма (C++), чрез която се въвеждат: начална сума на влог - K, лихвен процент - L и срок на депозит - P и се извежда крайната сума за получаване на срочния влог.
Числата K и L са реални от интервала [0.1 - 99999.9].
Пример: K=16674.7 , L=2.5, P=10 сума за получаване: 21345
Използвайте рекурсия.
Решение

Да се състави програма (C++), чрез която се въвеждат: начален член a, частно - d и брой елементи - n на геометрична прогресия и се извежда сумата от всички членове на прогресията.
Числата a и d са реални от интервала [1.1 - 2.1].
Пример: a=1, d=2, n=6 Изход: 63.
Използвайте рекурсия.
Решение

Рекурентна числова редица е редица, при която всеки следващ елемент се получава от предходните по определено правило.
Имаме рекурентна редица, чийто първи 5 члена са: 0:1, 1:1, 2:3, 3:11, 4:53, 5:309,
Да се състави програма (C++), която чрез рекурсивна функция извежда N-тия член на редицата.
N е естествено число от интервала [0..20].
Решение

Субфакториел може да се представи като рекурентна числова редица, в който всеки следващ елемент се представя като цялата част на отношението !An = [n!/e].
Имаме рекурентна редица, чийто първи 5 члена са: 0, 1, 2, 9, 44.
Да се състави програма (C++), която чрез рекурсивна функция извежда N-тия член на редицата.
N е естествено число от интервала [3..20].
Решение

Съществуват k броя квадрати със страна 1. От тях трябва да се състави фигура, подобна на равностранен триъгълник.
На върха на триъгълника има разположен един квадрат, на следващия ред са разположение 2 квадрата. На всеки следващ ред има един квадрат повече.
Да се състави програма използваща рекурсивна функция. По въведено естествено число k от интервала [10 - 30000] се извежда страната на най-големия възможен равностранен триъгълник, както и броя неизползвани квадрати.
Пример: 17 Изход: страна 5, неизползвани 2
Решение

Съществува равностранен триъгълник с дължина на страната естествено число n от интервала [1..101].
В триъгълника са вписани k броя едностранни триъгълници с дължина на страната 1.
Да се състави програма, която чрез рекурсивна функция изчислява максималния брой непресичащи се малки равностранни триъгълници.
Пример n = 8 Изход k = 64
Решение

Да се състави програма, чрез която се въвеждат две естествени числа [10..30000]. Програмата да използва рекурсивна функция за изчисляване произведението на двете числа, като изчислява сума от последователното целочислено умножение чрез делене на 2.
Пример: 10, 7 Изход:
5, 14
2, 28
1, 56
Произведение 70
Решение

Да се състави програма, чрез която по въведено естествено число от интервала [10..99] се извежда поредица числа, при спазване на следните изисквания:
1) ако предходното число е четно се извежда 0.5*числото;
2) ако предходното число е нечетно се извежда 3*числото +1.
Извеждането продължава докато не се получи стойност 1.
Пример: 11 Изход: 34 17 52 26 13 40 20 10 5 16 8 4 2 1

Решение

Редицата от правоъгълни числа е монотонно растяща и всеки неин член се дефинира като произведение на две последователни естествени числа. Такива числа биха могли да бъдат представен графично като правоъгълници със страни k и k+1.
Да се състави програма, чрез която се въвежда естествено число N от интервала [3..103].
Програмата да изведе всички правоъгълни числа от първото правоъгълно число до въведения пореден номер.
Пример: 12 Изход: 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156

Решение

Редицата от триъгълни числа е монотонно растяща като всеки неин член може да се представи като сума от последователни естествени числа.
Tриъгълни числа могат да се представят графично като брой сфери подредени в равностранен триъгълник със страни k.
Да се състави програма, чрез която се въвежда естествено число N от интервала [3..103].
Програмата, чрез рекурсивна функция, да изведе всички триъгълни числа от въведения пореден номер N до първото триъгълно число.
Пример: 10 Изход: 55, 45, 36, 28, 21 15 10, 6, 3, 1

Решение

Да се състави програма, чрез която се въвежда естествено число N от интервала [1..20]. Чрез рекурсивна функция да се изведе минималното двоично число съдържащо в записа си N броя единици.
Пример: 4 Изход 15

Решение

Да се състави програма, чрез която се въвеждат две естествени число N и K. Числото N да се представи като двоично число с K броя цифри. Да се използва рекурсивна функция.
Пример: chislo: N=15, K=5 Изход: 01111

Решение

Да се състави програма, чрез която се въвежда естествено число N. Числото N редставлява брой членове на рекурентна редица от вида: a(1)=1, a(n)=5*(2*n-1)*n-a*(n-1), където n е естествено число. Програмата, чрез рекурсивна функция, да извежда стойността на отделните елементи на рекурентната редица от 1-вия до N-тия.
Пример: N=5; Изход: 1, 29 ,46, 94, 131

Решение

Да се състави програма, която извежда на екрана всички комбинации от K буквени думи над азбуката съдържаща N главни букви от латинската азбука.
В думите не трябва да има повтарящи се букви. Да се използва рекурсивна функция.
Пример: N=4, K=2 възможни думи над азбуката са: AB,AC,AD,BA,BC,BD,CA,CB,CD,DA,DB,DC

Решение

Да се състави програма, чрез която се въвежда десетична дроб. Програмата, чрез рекурсивна функция, да извежда въведената стойност като двоична дроб. Точността на изчисляване се ограничава или до указан брой знаци или до получаване на еквивалентна стойност.
Пример: 0.125 Изход: 0.001
десетична дроб: 0.12444 двоична дроб с 10 знака: 0.0001111111

Решение

Вторник, 27 Юли 2010 03:21

задачи с низ (стринг)

Да се състави програма на C++, чрез която от клавиатурата се въвеждат 30-50 знака общо.
Като резултат на екрана да се извежда броя знаци, 1-вия, средния и последния знак от въведения текст.
Пример: abcdefgh
Изход: първи a, среден e последен h
Решение (свободен достъп)

Да се състави програма на C++, чрез която от клавиатурата се въвеждат два низа съдържащи до 40 главни и малки букви.
Като резултат на екрана да се извеждат низовете само с главни и само с малки букви.
Пример: Abcd Efgh
Изход: ABCD abcd EFGH efgh
Решение

Да се състави програма на C++, чрез която от клавиатурата се въвеждат последователно две думи с дължина 10-20 знака.
Програмата да размени първите им 5 знака и да изведе дължината на по-дългата, както и новото им съдържание.
Пример: uchilishe uchenik
Изход: 9 uchenishe
Решение

Да се състави програма на C++, чрез която от клавиатурата се въвеждат последователно две редици от символи (стринг-низ) без интервали. Всяка от тях е с дължина от интервала [5..55] символа.
Програмата да извежда съобщение за резултата от сравнението им по позиции - разстояние по Хеминг.
Пример: хипопотам, хипопотук
Изход:
двата низа с равна дължина.
Разлика по позиции:
8 а-у
9 м-к
Решение

Да се състави програма на C++, чрез която от клавиатурата се въвеждат последователно две редици от символи (стринг, низ) без интервали. Всяка от тях е с дължина между 5 и 15 символа.
Програмата да извежда съобщение за резултата от лексикографското им сравнение. Обърнете внимание, че главните букви са "по-напред" от малките.
Пример: мама татко
Изход: мама е по-малък
Решение

Да се състави програма на C++, чрез която от клавиатурата се въвежда низ и знак.
Като резултат на екрана се извежда съобщение дали знакът се съдържа в низа и се отпечатват всички следващи го знаци от низа.
Пример: Uchitel; i
Изход: Знакът 'i' е на позиция 4, След него е 'itel'.
Решение

Да се състави програма на C++, чрез която от клавиатурата се въвежда последователност от букви.
Програмата да проверява дали във въведения текст се съдържа знака 'Т' и на коя позиция е.
Пример: asdTeg Изход: позиция 4
Решение

За 14 февруари учениците от един клас решили чрез програма да проверят във всяка от двойките момче-момиче кой е шефа., т.е. кой има ‘по-голямо’ име.
Да се състави програма на C++, чрез която по въведени трите имена на двама човека се извежда чие име има по-голям сбор от ASCII кодовете на съставящите името букви.
Пример: Anna Dosewa Asenowa, Iwo Peew Peew
Изход: Anna Dosewa Asenowa
Решение

Да се състави програма на C++, чрез която се въвеждат 2 редици от знаци (думи).
Ако в двете редици участва един и същи знак, да се изведе на екрана първата редица хоризонтално, а втората вертикално, така че да се пресичат в общия си знак.
Ако редиците нямат общ знак да се изведе само уведомително съобщение.
к
а
балон
е
н
Решение

Да се състави програма на C++, чрез която от клавиатурата се въвежда изречение с отделни думи (30..50 знака общо).
Като резултат на екрана да се извежда същия текст, но всяка отделна дума да започва с главна буква, а следващите я букви да са малки.
Пример: аз буки веди глаголи
Изход: Аз Буки Веди Глаголи
Решение

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

Да се състави програма на C++, която чете от клавиатурата набор думи.
Като резултат да се извеждат броя на въведените думи, както и броя знаци в най-дългата дума.
Пример: asd fg hjkl
Изход: 3 думи, най-дългата е с 4 символа.
Решение

Да се състави програма на C++, чрез която от клавиатурата се въвежда ред от символи (стринг, низ). Брой символи от интервала [10..50].
Програмата да изведе на екрана дали въведения стринг е палиндром, т.е дали четен отляво-надясно и отдясно-наляво е един и същ.
Вход: капак Изход: да.
Решение

Да се състави програма на C++, чрез която по въведен низ съдържащ букви, цифри, знак минус '-' се извежда сборът на въведените числа като се отчита знакът '-' пред съответното число.
Вход: asd-12sdf45-56asdf100
Изход:
-12
45
-56
100
Сума = 77
Решение

Числа с брой цифри >50 се наричат дълги числа. Съставете програма, чрез която от клавиатурата се въвежда цяло число чийто брой на цифрите е от интервала [30..50].
Програмата да извежда колко е целочисленият му остатък при делене на 3.
Пример: 345
Изход: 0статък 0.
Решение

Мария е оставена да домакинства - да почисти мебелите и подреди. На масата има голям букет от позасъхнали цветя.
Мария, настояща професионална кандидат студентка решава да провери още веднъж дали ще си вземе изпитите. Начинът е като къса последователно листче по листче и си нарича ДА - НЕ.
Трудно се доказва достоверността на получения резултат, но такъв е животът. Тя обаче е упорита - записва броя на листчетата за всяко цвете от букета - така от всяко цвете се формира цифра в 20-40 цифрено естествено число.
Да се състави програма на C++, чрез която по въведено 20-40 цифрено число се извежда съотношението брой четни/нечетни цифри в числото.
Пример: 123456789
Изход: по-малък брой са четни 4 бр
Решение

Зноен летен ден. Две дълги числа уморено влачат поредиците си цифри по прашния селски път. Срещнали се и решили да си поприказват на сянка.
Оказало се, че всяко е недоволно от себе си, по-точно от част от цифрите си. Първото харесвало само нечетни цифри – 1,3,5,7,9, а второто – само четните 0,2,4,6,8.
Да се състави програма на C++, чрез която се въвеждат две дълги числа с брой цифри от интервала [20..40]. Броят цифри в двете числа не е непременно равен.
Програма да извърши размяна на цифрите между дългите числа, ако в една и съща позиция за първото число има четна цифра, а във второто нечетна.
Пример: 23467, 18278
Изход: 13477, 28268.
Решение

Иван е феноменален математик - веднага изчислява кубовете на всяко естествено число от интервала 1..255].
Да се състави програма на C++, чрез която по въведено естествено число от интервала [1..255] се извеждат кубовете на всички числа от 1 до въведеното, отделени със запетая. Печата се в колони по 60 знака.
Ако едно цифрите на едно число не могат да се вместят на текущия ред се печата до 60-та колона, а следващия ред започва със следващата цифра на числото.
Пример: 5 Изход: 1,8,27,64,125,
Решение

Нашият стар познат Иван решил кола да си купува. Парите ги има, но си има и проблем. - пада си малко фаталист.
Иска серийния номер на двигателя да бъде щастливо число в 2-ична бройна система.
Ако това не може, поне броят 1 в числото да е равен на броя 0.
Да се състави програма на C++, чрез която се въвежда естествено число от интервала [100 000..1 000 000 000] и се проверява дали числото в 2-ична бройна система е щастливо или дали броя 1 е равен на броя 0.
Въвеждането на числа да продължава по желание на потребителя.
Пример: 103015 Изход: 11001001001100111 8 нули, 9 единици.
Решение

Живели си две дълги числа в мир и любов. Всяко от тях било естествено число, макар и голямо. По едно време и двете решили да си отгледат собствено малко дълго число. Отишли при Великия мъдър смърф и му разказали за мечтата си.
Смърфът внимателно ги изслушал, мислил дълго, но накрая се усмихнал и им казал:
- Знаете, че от нищо нещо не става. Но имате възможност да си изберете дали Вашето число ще е >0 или <0. Ако едно от Вас двете е съгласно да намали стойността си, то аз съм готов да помоля учениците по Информатика да решат следната задача:
Да се състави програма на C++, чрез която се въвеждат две дълги естествени числа N1 и N2. Броят на цифрите за всяко от числата е от интервала [2..52].
Програмата да изведе резултата от разликата между N1-N2.
Пример: 487 513 Изход: -26
Решение

Да се състави програма на C++, чрез която се въвежда естествено число N от интервала [9999..999999999].
Програмата да извежда дължината на най-дългия палиндром, съдържащ се в представянето на въведеното число в 2-ична бройна система.
На изхода да се изведе 2-ичния вид на числото, дължината на най-дългия палиндром в него и началната позиция на палиндрома.
Пример: 56789 Изход:1101110111010101 11 2.
Решение

Младият информатик Иван се е загледал в поредния интересен сайт. Сестра му Мария, вече разбрала как се работи с двуцифрени числа, го закача за задача. Иван решава да даде нещо по-интересно.
Знаеш годините на всеки от нашите роднини. Намери най-голямото и най-малкото естествено число, което е с толкова цифри, колкото са годините на роднината, като сборът от цифрите на числото е равен точно на броя на цифрите в числото.
Да се състави програма на C++, която извежда този резултат.
Пример: 7 Изход: максимално 6000001, минимално 1000006.
Решение

Имате естествено число от вида 10..01, цифрите му са само 1 и 0, като при това само първата и последната са 1, а останалите са 0.
Да се състави програма на C++, чрез която се въвежда естествено число N от интервала [3..50]. Това число е степенен показател за число от посочения по-горе вид с 20 нули.
Като резултат да се изведе сумата от цифрите на резултата от степенуване на дългото число.
Пример: N=20 Изход: 94.
Решение

По въведено естествено число N, чийто брой цифри n е от интервала [5..55], като цифрите на N не са непременно еднакви.
Търси се естествени число М от вида 100..001, такова че броят на цифрите му m = n-1. Числото М има в записа си само 2 единици (в началото и в края), а останалите му цифри са 0.
Да се състави програма на C++, чрез която по въведено число N се генерира число М. Извеждат се: стойността на произведението M*N, както и сумата от цифрите на полученото произведение.
Пример: 98076 Изход: 9807698076, сума 60.
Решение

Числа с брой цифри >50 се наричат дълги числа. Съставете програма, чрез която от клавиатурата се въвежда цяло число чийто брой на цифри е от интервала [30..50].
Програмата да извежда дали въведеното число е кратно на 8.
Пример: 1020304050120 Изход: кратно
Решение

Да се състави програма на C++, чрез която се въвеждат 2 числа с [10..70] цифри. ако N е броя цифри на по-малкото число, програма да използва само първите N цифри от двете числа по следния начин.
Умножава 1-та цифра от 1-то число с последната цифра на второто число. Ако това произведение е >10 числото се редуцира до сбор от цифрите си.
Продължава с 2-та цифра отляво на 1-то число и т.н.
Да се изведат резултатите от всяка новополучена цифра. Пример: при 123456789 и 987654321 се извежда:149779419.
Пример: 123456789 987654321 Изход: 149779419
Решение

Съставете програма, чрез която от клавиатурата се въвежда цяло число, чийто брой на цифри е от интервала [30..50].
Програмата да изведе възможно най-голямото число, в което участват същите цифри, както във въведеното число.
Пример: 4531 Изход: 5431
Решение

Числа с брой цифри >50 се наричат дълги числа. Съставете програма, чрез която от клавиатурата се въвежда цяло число, чийто брой на цифри е от интервала [30..50].
Програмата да извежда каква е честотата на срещане за всяка една от цифрите, както и броя на най-често срещаната цифра.
Пример: 45554
Изход:
4 - 2 пъти;
5 - 3 пъти;
Решение

Двамата братя Иван (9 г) и Петър (16 г) били оставен с ясната задача да си научат уроците по математика, като Петър да помага на Иван.
Петър "решил" въпроса кардинално - дава на брат си тежка задача, а той вече свободно се рови в Интернет. Задачата е следната:
Имате едно голяяямо число [10..50] цифри. Трябва да го представите като сума от числа, чиито цифри са само 0 и 1.
Вие, бихте ли направили програма, която чрез функция да решава тази задача.
Пример: 1254 Изход: 1111+ 111 + 11+11+10
Решение

Да се състави програма на C++, чрез която по въведено число от 16-ична бройна система, с брой цифри от интервала [10..20] се извежда еквивалента му (същото число) представено в 2 и 4-ична бройна система.
Да се реализира защита по вход - въвеждат се само [0..9] и [A..F]
Пример: 22222 1
Изход: 2:100010001000100010, 4:202020202.
Решение

Числото 1000 е доста приятно, ако трябва да го събираме с число, да е множител или сума за получаване.
Но дали е такъв случая, когато 1000 е степенен показател?
Да се състави програма на C++, чрез която по въведено естествено число от интервала [1..101] се извежда последната цифра на въведеното число, повдигнато на степен 1000.
Пример: 20 Изход 0.
Решение

Иван най-сетне се научил да умножава и дели - е поне за някои от числата. Веднага дава резултата от действието, ако числата имат цифри само 0 и 5.
Трябва да му се намерят спешно точно такива числа.
Да се състави програма на C++, чрез която се въвежда естествено число N от интервала [1..1000001 и се извежда поредното закръглено число.
Последователността на тези интересни числа е: 0; 5; 50; 55; 500....
Пример: 61 Изход: 555500
Решение

Да се състави програма на C++, чрез която се въвеждат 10-50 цифри.
Програмата да извежда по колко цифри са въведени. Отделно да се изведе коя цифра е с най-голям брой повторение.
Пример: 12223334422
Изход:
Броят въведени '0' e 0
Броят въведени '1' e 1
Броят въведени '2' e 7
Броят въведени '3' e 3
Броят въведени '4' e 2
Броят въведени '5' e 0
Броят въведени '6' e 0
Броят въведени '7' e 0
Броят въведени '8' e 0
Броят въведени '9' e 0
Най-голям брой повторения: 7
Решение

Да се състави програма на C++, която извежда на екрана квадрат, чиито страни са оформени със знака *, а вътрешността е запълнена със знак въведен от клавиатурата.
Входни данни br - дължина на страната, ch1 - знак за запълване, ch2.- знак за контур
Пример: 4, *, +
****
*++*
*++*
****
Решение

Да се състави програма на C++, която извежда ромб от символи. Началото започва с буквата A, продължава до въведената главна буква.
Пример:C
Изход:
A
B*B
C***C
B*B
A
Решение

Да се състави програма на C++, чрез която се въвежда главна латинска буква. Да се извежда на всеки ред от екрана последователност от букви, като всеки отделен ред се премества с 1 позиция вдясно и всеки ред започва от следващата буква от азбуката до А.
На последния ред се отпечатват всички букви от въведената до А в низходяща последователност.
Пример: C
Изход:
A
BA
CBA
Решение

Иван има за домашно по информатика проста наглед задача.
Да се състави програма на C++, чрез която по въведен низ, съдържащ няколко думи, се извежда най-дългата дума, която започва и завършва с един и същи знак.
Изречението трябва да съдържа максимален брой знаци [20..60] и максимален брой думи [3..10].
Пример: Вход: 'Mariq chete prikazki ot 1001 nosh'
Изход: '1001' с дължина 4.
Решение

Да се състави програма на C++, чрез която се въвежда фраза. Програмата да извежда само различните букви, участващи във въведения низ. Всички изведени букви да са малки без значение дали при въвеждането са били главни или малки. Подреждането на буквите да бъде азбучно – във възходящ ред по техния код. Програмата да изведе броя символи в изходния текст.
Пример: Iwo Peew Peew
Изход: 'eiopw' 5 знака.
Решение

Да се състави програма на C++, чрез която от клавиатурата се въвежда изречение.
Програмата да изведе броя думи във въведеното изречение, броя символи в най-дългата дума и новообразуваното изречение, в което няма интервали пред първата и след последната дума, а между отделните думи има само един единствен интервал.
Всяка дума в новото изречение да започва с главна буква.
Броят на въведените отделни изречения и тяхната последователна обработка се определя от потребителя.
Пример: това е проба
Изход: Това Е Проба
Най-дългата дума е с 5 знака
Решение

Нашият стар познат Иван се пече на бавен огън – класно по математика.
Той предвидливо е назубрил доста формули (без да ги разбира) като буквено представяне, но е забравил кога и къде да сложи скоби. Твърдо знае общия брой на двойките скоби.
В момента трябва да изчислява сложен алгебричен израз, състоящ се от N на брой променливи (N естествено число от интервала [3..20].)
Целият израз е ограден в скоби, а вътре в израза има N-2 броя двойки лява и дясна скоба.
Да се състави програма на C++, чрез която се извежда броя възможни начини за изписване на израза по въведено N.
Пример: 4 променливи а1, а2, а3, а4.
Изход: 5 начина:
а) (((a1 a2)a3)a4); б) ((a1(a2 a3))a4); в) (a1(a2(a3 a4))); г) (a1((a2 a3)a4)); д) ((a1 a2)(a3 a4)).
Решение

Имате естествено число N от интервала [2..2002], явяващо се степенен показател на 2. При въведено N трябва да се изведе М - целочисления остатък от деленето (2^N)/9.
Да се състави програма на C++, чрез която се въвежда N и се извежда М.
Пример: 3 Изход 8
Решение

Имате въведени две естествени числа: K от интервала [0..6] и N от интервала [1..366], съответно K е пореден ден от седмицата, започвайки с 0-неделя, а N е пореден ден от годината - започвайки с 1.I.
Предполага се, че тази година 1.I се е паднал неделя.
Да се състави програма на C++, чрез която се въвежда N (поредния ден) и се извежда K - деня от седмицата.
Пример: 14 Изход: събота
Решение

Имате въведено естествено число N, принадлежащо на интервала [2..2002], както и естествено число M от интервала [30..75].
Трябва да се изведат всички естествени числа от интервала [1..N], разделени със запетая. На всеки ред се извеждат M броя символи.
Да се състави програма на C++, чрез която се въвеждат две естесвени числа от указания интервал и се извеждат всички последователни естествени числа.
Пример: число 22, брой символи 15
Изход:
1,2,3,4,5,6,7,
8,9,10,11,12,
13,14,15,16,17,
18,19,20,21,22,
Решение

Да се състави програма на C++, чрез която се въвежда число с римски цифри.
Програмата да извежда числото с арабски цифри в 10-ична бройна система.
Ползвайте следните означения: 1-I;5-V;10-X;L-50;C-100;D-500;M-1000.
Пример: XXIX Изход: 29
Решение

Имате въведени две естествени числа N, M, принадлежащи на интервала [2..2002], като са възможни релациите N<M или N>M.
Трябва да се изведе такова естествено число, чиито цифри са съставени от всички естествени числа от интервала [N,N+1,N+2...M].
При извеждането на дългото число броят на цифрите във всеки отделен ред е <=K, където K е също естествено число от интервала [30..75].
При извеждане на дългото число не трябва да се допуска разкъсване на цифрите на поредното естествено число.
Програмата да извежда: дългото число по указания начин, както и съобщение дали числото е кратно на 3 и 6.
Пример: 24,15, 20 Изход: 15161718192021222324
Сума от цифрите на числото: 60
Изход: числото е кратно на 3 и 6
Решение

Имате 2 естествени числа N, M, всяко от които има брой цифри от интервала [2..32].
Да се създаде програма, чрез която се въвеждат две такива числа и се извежда разултата от тяхното сравнение <=>.
Пример: 23, 123 Изход: 23 < 123
Решение

Имате 2 рационални числа без знак N, M, всяко от които има брой цифри от интервала [2..32].
Да се създаде програма, чрез която се въвеждат две такива числа и се извежда разултата от тяхното сравнение <=>.
Пример: 23.456, 123 Изход: 23.456 < 123
Решение

Имате рационално число N, което има брой цифри от интервала [5..45].
Да се създаде програма, чрез която се въвежда такова рационално число и се извежда неговата абсолютна стойност.
Пример: -10203040506.073 Изход: 10203040506.073
Решение

В администрацията често се налага определена фраза да се изписва като абревиатура - първите букви от всяка съставяща я дума.
Да се състави програма, чрез която се въвежда фраза (няколко различни думи) и се извеждат изписани с главни букви първите букви на всяка от думите, както и дължината на абревиатурата.
Програмата да не се влияе от начина на изписване на думите, т.е. да няма разлика дали думите са изписани с главни или малки букви, както и от броя интервали преди и след всяка дума.
Пример: Държавни зрелостни изпити Изход: ДЗИ - 3 букви.
Решение

Къдрокосият Иван има малка сестричка, която скоро се е научила да пише цифрите. Пише няколко цифри и търчи при брат си с въпрос - кое е това число?
На Иван скоро му омръзнал ентусиазмът й. Решил задача да даде, та от Мариините въпроси да се отърве.
Мария трябва да напише число, в което всяка цифра се повтаря поне 2 пъти. И в това дългичко число да открие най-голямото дълго число, което се среща поне 2 пъти.
Да се състави програма, която решава задачата на Мария.
Дължина на въведеното число от интервала [20..500].
Пример: 112333456789123090019833345670002 Изход: 3334567.
Решение

Имате въведен въведена фраза - последователност от цифри, букви и интервали. Дължината на фразата е от интервала [5..79] символа.
Да се състави програма, чрез която въведената фраза се извежда като пясъчен часовник. В най-тънката му част има 1-2 символа.
Пример: 123456
Изход:
123456
  2345
   34
   34
  2345
123456
Решение

Да се състави програма (C++), чрез която се въвежда изречение (стринг), съставено от отделни думи.
Използваните знаци за всяка отделна дума са букви и/или цифри. Като разделител между всяка дума се ползва поне 1 интервал.
Програмата да изведе дължината на най-дългата дума от въведения стринг, както и:
в ред обратен на въвеждането им всички думи с четен брой букви;
по реда на въвеждането им всички думи с нечетен брой букви.
Пример: да се пресметне сумата 555 + 55 Изход: дължина 8
55 сумата да се
пресметне 555 +
Решение

Да се състави програма (C++), чрез която се въвежда текст (стринг), съставен от отделни думи.
Използваните знаци за всяка отделна дума са букви и/или цифри. Като разделител между всяка дума в текста се ползва поне 1 интервал.
По въведено естествено число N [40..70] програмата да изведе въведения текст, но вече центриран в поле с ширина N броя букви.
Решение

Да се състави програма (C++), чрез която се въвежда текст (стринг), съставен от отделни думи.
За отделна дума се приема последователност от букви и/или цифри. Като разделител между всяка дума в текста се ползва поне 1 интервал.
По въведено естествено число N [40..70] програмата да изведе въведения текст, но подравнен вдясно в поле с ширина N броя букви.
Решение

Да се състави програма (C++), чрез която се въвежда стринг, съставен от отделни думи.
За отделна дума се приема непрекъсната последователност от букви и/или цифри. Като разделител между всяка дума в текста се ползва интервал.
По въведено естествено число N [40..70] програмата да изведе въведения стринг, но подравнен двустранно в поле с ширина N броя букви.
Решение

Иван е намислил страхотна парола: дълга с цифри, букви, препинателни знаци, без интервали.
Допустимата дължина на стринга е N - естествено число от интервала [10..25000] знака. Проблемът не е в паролата, а в желанието му да я помести в рамка от истинско масивно злато.
Счетоводителят му разбира, че златото си е много добра инвестиция, но е изправен пред следния проблем: ако не укроти амбициите на шефа целия оборотен капитал ще се замрази в злато, ако не изпълни каприза на шефа ще трябва да си търси друг шеф.
Единственият изход е рамката да е възможно най-малката.
Всеки знак от паролата заема площ с равни размери по двете оси. Контурът на златната рамка е с ширината на знак и по двете оси.
Да се състави програма (C++), чрез която се въвежда стринг с указаната дължина N и се извежда, така че рамката да е с минимална цена - минимален правоъгълник, който съдържа всички букви от стринга.
Пример: 123456789012345
Изход:
1234
5678
9012
345
Решение

Съществували някога приказни създания - тролове.
Били много големи и силни създания, но имали една особена слабост - броене и смятане.
Познавали няколко цифри: нула, едно, две, както и по-големите числа много и камара.
Да се състави програма (C++) която решава нашата задача - да научим малкия трол да брои.
При въведено естествено число от интервала [0..26] да се извежда числото в съответната бройна система, както и числото словом по тролския начин на броене.
Описанията на самите числа да се съхраняват в масив от стринг.
Пример: 23 Изход 212 - две камари много и две
Пример: 16 Изход: 121 - камара две много и едно
Решение

Да се състави програма (C++) чрез която се въвежда фраза съдържаща (стринг) име на кучета и породи. Всяко отделно име е разделено от останалите поне с един интервал.
Ако думата съдържа главна буква, то това е име на герой от роман или филм, в противен случай се приема за име на порода.
Ако порода или име съдържа 2 отделни стринга / 2 отделни думи, то те се представят като един стринг свързан с тире.
Програмата да изведе отношението между въведения брой герои и породи.
Пример: коли Ласи пекинез Изход: герой / породи = 1/2
Разпространени / екзотични породи кучета: аиди, акбаш. басет, басенджи, бобтейл, боксер, болонка, борзая, бриар, булдог, бултериер, булмастиф, дакел, далматин, доберман, еърдейлтериер, евразиер, йорки, канаан, коли, комондор, мопс, нюфаундленд, пекинез, пинчер, померан, пудел, ротвайлер, самоед, санбернар, хедлинг, чау-чау, чихуахуа, шeлти, шар-пей, шнауцер, шиперке
Решение

Под анаграма ще разбираме пренареждане буквите на дума, така че да се формира нова дума. Пример: док и код.
Да се състави програма (C++), чрез се въвеждат 2 стринга с равна дължина. Всички букви в първия стринг са различни.
Програмата да изведе съобщение дали двата стринга съдържат еднакви букви или кои букви от първия стринг не се срещата във втория.
Решение

Под абревиатура ще разбираме дума, формирана от началните букви на участващие в названието думи. Пример: БАН.
Да се състави програма (C++), чрез която се въвежда естествено число N [3..103].
Да се въведат N броя стрнига - думи, съдържащи само букви и/или цифри.
Програмата да формира абревиатура на всички въведени думи и провери да тя е палиндром.
Пример: 4; анаграма баба барби абревиатура Изход: абба е палиндром
Решение

Под рекурсивен акроним ще разбираме съкращение, абревиатура, при което първата от формиращите го думи е самото съкращение. Пример за това е VISA International Service Association.
Да се състави програма (C++) чрез която се въвежда стринг - фраза, съставена от отделни думи, разделени една от друга с интервал.
Програмата да провери дали въведения стринг е рекурсивен акроним.
Решение

Преди много, много години живеели приказни създания – тролове и джуджета. Те имали една обща слабост - подземия и пещери. Троловете приемали пещерите като даденост - място за отмора и почивка, а джуджетата като предизвикателство - място за творческа изява и добив на ценни метали.
В общия случай всеки трол е огромно създание с кротък нрав и не особено развит интелект. Говорят малко, защото трудно намират най-точния изказ. Ако се противоречи на трол, то той става опасен противник, но ако го убедиш с доводи, то тролът е склонен да отстъпи и дори да се махне от любимата си пещера.
Джуджетата са силни физически, но дори и в група не могат да се противпоставят на един, единствен трол. Тяхната особена черта е невероятно трудолюбие и съобразителност. Джуджетата бързо схванали, че ако влязат в спор с трол и повторят убедено неговите думи, но в друга последователност, най-често тролът онемява от почуда и полека отстъпва.
Да се състави програма (C++), чрез която се въвежда цяла фраза – думи, съставени от букви и/или цифри, отделени една от друга с един или повече интервала. Като изход програмата да извежда същите думи, но в последователност 312.
Пример: аз съм трол и това е моята пещера. Изход: трол аз съм е и това пещера моята
Решение

Да се състави програма (C++), чрез която се чете същестуващ текстов файл и се извежда акростих - първите букви на всеки нов ред, стринг от файла.
Пример:
Високо горе в планината
отнейде появи се вятър,
дъждовен облак се надипли,
а после кротко заваля.
акростих Вода Решение

Ще наричаме почти палиндром стринг, в който има само два различни знака, намиращи се на симетрични спрямо средата позиции.
Да се състави програма (C++), чрез която се въвежда стринг, съдържащ непрекъсната редица от букви и/или цифри.
Програмата да изведе съобщение дали въведения стринг е палиндром, почти палиндром или не е.
Ако въведеният стринг е почти палиндром да се изведат двата възможни палиндрома, съдържащи еднаквите знаци на същите симетрични позиции.
Пример: 1275885521 Изход: почти палиндром 1275885721, 1255885521
Решение

Да се състави програма, чрез която се въвежда стринг - непрекъсната последователност от знаци. Всеки знак е латинска буква и/или цифра. Броят знаци е от интервала [5..205].
Програмата да изведе позицията на първите два повтарящи се знака или Не, ако липсват такива.
Пример: габровото Изход: 5-7
Решение

Чрез морзовата азбука могат да се предават съобщения съдържащи букви и/или цифри.
Всеки знак от тази азбука се представя чрез къси и дълги сигнали, условно наречени точки и тирета.
Между отделните знаци се вмъква къса пауза, а между отделните думи дълга пауза.
Въпросът е следният: колко различни знаци могат да бъдат съставени, ако всеки знак съдържа равен брой точки и тирета и освен това в лявата част на знаци няма повече тирета от точки.
Да се състави програма, чрез която се въвежда естествено число N [2..19] и се извеждат броя различни знаци.
Пример: N=3 Изход: 5
В случая възможните знаци са: 1)...))); 2) .-..--; 3) .-.-.-; 4) ..--.-; 5) ..-.--
Решение

Един от дефектите на клавиатура е "залепване", в резултат на което при едно натискане на клавиш се въвеждат множество от повтарящи се символи.
Да се състави програма на C++, чрез която се въвежда стринг с повтарящи се съседни символи. Програмата да изведе стринг съдържащ само неповтарящи се съседни символи.
Пример: 11112222333345666 Изход: 123456
Решение

Понеделник, 26 Юли 2010 23:58

задачи със сортиране

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

Да се състави програма на C++ за сортиране в низходяща последователност на предварително въведен едномерен масив от символи.
Програмата да реализира метода "сортиране чрез пряка размяна" (метод на мехурчето).
Пример:
S,s,G,H,J,N,Z,x,c,r
Изход:
x,s,r,c,Z,S,N,J,H,G
Решение

Имате предварително въведен едномерен масив с елементи от интервала [1..100]
Да се състави програма на C++, чрез която елементите на масива да бъдат сортирани по метода "сортиране чрез вмъкване".
Пример:
15; 6; 8; 1; 2; 3; 4; 7; 9; 11;
Изход:
1; 2; 3; 4; 6; 7; 8; 9; 11; 15;
Решение

Имате предварително въведен едномерен масив с елементи от интервала [1..100]
Да се състави програма на C++ за сортиране на стойностите на масива чрез метода "сортиране чрез пряка селекция".
Пример:
15; 6; 8; 1; 2; 3; 4; 7; 9; 11;
Изход:
1; 2; 3; 4; 6; 7; 8; 9; 11; 15;
Решение

Да състави програма на C++, чрез която в едномерен масив се въвеждат естествени числа от интервала [0..250]
Програмата да сортира въведените стойностите на масива чрез метода "зайци и костенурки".
Решение

Да се състави програма на C++, която като входни данни има 2 едномерни сортирани масива, съдържащи естествени числа от интервала [-5000 + 5000]. В общия случай масивите са с различен брой променливи.
Да се изведе на екрана резултата от обединението на 2-та масива като елементите на новообразувания масив са също сортирани.
Пример:
{1,3,5,7,9,11,113} и {2,4,6,8,10,12,14,16,18,20}
Изход:
1,2,3,4,5,6,7,8,9,10,11,12,14,16,18,20,113
Решение

Да се състави програма на C++, която сортира по метода на мехурчето предварително въведен двумерен масив с естествени числа от интервала [-100..100].
Сортирането да се извърши по редове/колони.
Пример:
15; 16; 8; 1;
2; 3; 4; 7;
9; 11; 19; 6;
Изход:
1; 2; 3; 4;
6; 7; 8; 9;
11; 15; 16; 19;
Решение

Да се състави програма на C++, която сортира на масив, съдържащ естествени числа от интервала [0..250].
Методът на сортиране да бъде "Сортиране чрез клатене".
Пример:
217 84 0 169 224 228 108 212 214
145 31 77 211 241 245 192 77 186
Изход:
31 41 77 77 84 108 145 169 186
205 211 212 214 217 224 228 241 245
Решение

През 1959 г. Шел предлага идея за подобрение на метода за сортиране чрез вмъкване. Идеята е да се извършва многократно сортиране чрез пряко вмъкване на част от елементите на масива със стъпка 8, която постепенно намалява и накрая достига 1 .
Да се състави програма на C++, която сортира масив, съдържащ естествени числа от интервала [0..150].
Да се приложи метод Shell.
Пример:
41 17 34 100 119 124 78 108 112 14 5 95 31 27 61
Изход:
5 14 17 27 31 34 41 61 78 95 100 108 112 119 124
Решение

Ще наричаме площадка непрекъсната последователност от елементи с равни стойности.
Да се състави програма на C++, която проверява коя е най-дългата площадка в предварително въведен масив от естествени числа от интервала [0 - 5000].
Програмата да извежда началния вид на масива и най-дългата площадка в него.
Пример:
1 3 3 7 9 9 9 9 11 11 12 14
Изход:
Най-дългата площадка е: 4 елемента
Брой на площадките: 3
Решение

Да се състави програма на C++, която проверява дали: предварително въведен масив от естествени числа от интервала [0..5000] е сортиран във възходящ ред.
Програмата да извежда съобщения и в двата случая.
Пример:
1 3 5 7 9 11 10
Изход:
11 > 10
Елементите на масива не са напълно подредени.
Решение

Да се състави програма на C++, която обръща елементите на предварително въведен масив от естествени числа от интервала [0..5000] в обратна последователност.
Програмата да извежда началния и крайния вид на масива.
Пример:
1 3 5 7 9 10 11 12
Изход:
12 11 10 7 9 5 3 1
Решение

Да се състави програма на C++, която сортира едномерен масив с естествени числа от интервала [0..200].
Да се приложи метод "Пирамидално сортиране".
Наричан е също и сортиране на Уйлямс
Пример:
41 67 134 100 169 124 78 158 162 64 105 145 81 27 161 91 195 142 27 36 191
Изход:
27 27 36 41 64 67 78 81 91 100 105 124 134 142 145 158 161 162 169 191 195
Решение

Да се състави програма на C++, която сортира едномерен масив с естествени числа от интервала [0..150].
Да се приложи метод "Двоично сортиране" - метод на Хоор.
Пример:
41 67 34 0 69 24 78 58 62 64 5 45 81 27 61 91 95 42 27 36 91 4 2 53 92
Изход:
0 2 4 5 24 27 27 34 36 41 42 45 53 58 61 62 64 67 69 78 81 91 91 92 95
Решение

Имате предварително въведена и сортирана редица от естествени числа от интервала [1..100].
Елементите в редицата не са непременно различни.
Да се състави програма на C++, чрез която се изчислява броя на площадките в редицата, т.е. колко е броят на отделните последователности от равни числа.
Пример: 11,12,14,14,16,16,16,18,18,19,22,23,23,27,27
Изход: 5
Решение

През лятото Иван се ровил в прашните сандъци на тавана и открил много мъниста (синци). Били с еднаква форма, но с различна големина, като цвят сини и червени. Решил на сестра си гердан да направи.
От двата края са най-малките размери и продължават към центъра с нарастваща големина. Отляво червени, отдясно сини.
Има два проблема - всяко парче е с различна големина - но това си е бял кахър. Всеки дефект е ефект. Вторият проблем, обаче е по-голям. Как да избере последователността за поставяне на мънистата.
Да се състави програма на C++, чрез която се сортират по метода на мехурчето 10 естествени числа от интервала [10..90], от които 5 са нечетни, а 5 четни и са предварително въведени. В лявата част да са нечетните числа в нарастващ ред, а в дясната четните в намаляващ
Пример:
15,16,48,45,32,37,77,72,80,85
Изход:
15,37,45,77,85,80,72,48,32,16
Решение

Иван и Мария - батко и сестричка решили купон да вдигат.
Предварително се разбрали кой кого ще кани - Иван само момчета, а Мария само момичета.
Дошла им идея да подредят гостите по височина. Всички поканени имали ръст - естествено число от интервала [150..200]. Ще им помогнете ли да групират гостите си по двойки - момче и момиче?
Да се състави програма на C++, чрез която се генерират случайни естествени числа 10 четни и 10 нечетни.
Числата да се подредят последователно четно-нечетно във възходящ ред на височината на гостите от двата пола.
Пример:
Височина на поканените гости:
M201; L186; M163; L154; M207; L180; M153; L186; M183; L152;
M185; L170; M161; L194; M197; L164; M175; L214; M161; L186;
Изход:
M 153; L 152
M 161; L 154
M 161; L 164
M 163; L 170
M 175; L 180
M 183; L 186
M 185; L 186
M 197; L 186
M 201; L 194
M 207; L 214
Решение

Имате предварително въведени стойности в правоъгълна матрица с M броя редове и N броя колони. Елементите й са реални числа от интервала [-99.9..99.9]. Общият брой на елементите е от интервала [10..70].
Да се състави програма, чрез която по алгоритъма за прякото вмъкване (метод на картоиграча) се извърши подреждане на елементите във възходящ ред. Да се изведе първата половина от елементите.
Пример:
-1.5; 2.1; -3.5; 4.3;
-2.3; 5.2; 6.1; 7.6;
-3.3; -4.4; -5.6; 7.2;
Изход:
-5.6, -4.4, -3.5, -3.3, -2.3, -1.5
Решение

Имате предварително въведени стойности в двумерен масив. Елементите му са реални числа от интервала [-99.9..99.9]. Броят на елементите е от интервала [10..70].
Да се състави програма, чрез която по алгоритъма за прякото вмъкване (метод на картоиграча) се извърши подреждане на елементите в низходящ ред. Да се изведат елементите от указан интервал.
Пример:
-1.5, 2.1, -3.5, 4.3
-2.3, 5.2, 6.1, 7.6
-3.3,-4.4,-5.6, 7.2
Интервал: 5,7
Изход: 2.1, -1.5, -2.3
Решение

Понеделник, 26 Юли 2010 06:45

Задачи със знак char

Да се състави програма на C++, която разпечатва всички символи, които удовлетворяват условието N<=S<=K, където N и K са символи въведени от клавиатурата.
Пример: A, E
Изход: ABCDE
Решение (свободен достъп)

Да се състави програма на C++, която разпечатва по 2 различни начина буквите от латинската азбука, както по възходящ ред - азбучно подреждане, така и в обратна последователност.
Използвайте факта, че всяка буква има свой номер - ASCII код.
Изход:
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA
zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA
Решение

Да се състави програма на C++, която по въведена малка латинска буква отпечатва същата, но главна буква от латинската азбука
Пример: р Изход: Р
Решение

Имате въведени 2 букви M,N от латинската азбука, влизащи от интервала [a..z].
Трябва да се изведат всички възможни 3-буквени думи, които са съставен само от буквите, участващи от интервала на въведените букви [M..N].
Съставете програма на C++, чрез която се въвеждат 2 букви и се извеждат всички възможни неповтарящи се думи, които съдържат само букви от интервала на въведените.
Да се изведе и броят на изведените думи.
Пример: a,b Изход: aaa,aab,aba,abb,baa,bab,bba,bbb
Решение

Да се състави програма на C++, чрез която се въвеждат 10 букви и цифри.
Програмата да извежда по колко цифри, големи и малки букви са въведени.
Вход: 8AFGcda567
Изход:
цифри: 4
главни букви: 3
малки букви: 3
Решение

Да се състави програма на C++, която очертава с въведен от клавиатурата знак, определен брой квадрати с определена дължина на страната Входни данни: знак, дължина на страна, брой квадрати.
Вход: *,5,3
Изход:
*************
*xxx*xxx*xxx*
*xxx*xxx*xxx*
*xxx*xxx*xxx*
*************
Решение

Да се състави програма на C++, която по въведена главна буква печата правоъгълен триъгълник с букви, като при това на последния ред са отпечатани всички букви от А до въведената.
Пример: D
Изход:
A
AB
ABC
ABCD
Решение

Да се състави програма на C++, която по въведена главна буква печата равнобедрен триъгълник с букви, като при това на средния ред са отпечатани всички букви от А до въведената.
Пример: C
Изход:
A
AB
ABC
AB
A
Решение

Да се състави програма на C++, която по въведена главна буква печата на отделен ред всички букви от интервала от А до въведената, като на всеки ред се печатат по 4 букви и знаците се придвижват с 1 позиция наляво спрямо предходния ред.
Пример: F
Изход:
ABCD
BCDE
CDEF
Решение

Да се състави програма на C++, която от въведени 2 знака за начало и край от интервала [А-P] извежда правоъгълна област, съдържаща всички знаци от интервала.
Входни данни: въвеждат се последователно 2 знака за начало и край.
Пример: А,D
Изход:
A B C D
B C D A
C D A B
D A B C
Решение

Главният герой на нашия разказ е Иванчо от вицовете. Та Иванчо много, много не се разбирал с математиката. Дори и да се опитвал да препише вярно задачата все му казвали, че пак нещо е сбъркал.
Бихте ли направили програма, която да казва еднозначно дали един математически израз е въведен правилно. Използват се само малки скоби, а за край на алгебричния израз се въвежда знак за равенство '='.
За правилно въведен израз се въвеждат следните изисквания: Да не започва с ')', както и броя на '(' e равен на броя ')'. Така: (x+5)*(x-4)= е правилно въведен; )x+5(*(x-4)= е неправилно въведен, защото започва с ')'.
Сещате се нали - времето тече, а Вие трябва да пишете програмата на C++?
Пример:
((34+56)*(45-18) - (32-12)/5)=
Изход: правилно
Решение

Може би си спомняте за шмекера Иванчо от вицовете.
Та Иванчо не се разбирал с математиката и особено със скобите. Решил да вземе радикално решение - 'разболява се' та дано бурята отмине. Както се казва направил си сметката без кръчмаря.
Докато се радвал на свободното си време неговите съученици се решили да решават задачи със средни скоби '[]'. Там правилата са следните - ако има средна скоба винаги първа е '[' - броя '(' е равен на броя ')', както и броя '[' е равен на броя ']' "- пре
Та Вие вече се досещате, че трябва да правите програма на C++ за проверка на математически израз. Последният знак от израза е знака за равенство '=' .
Пример:
((234)+23)*[345-12 + (34*4-7)]=
Изход: правилно
Решение

Да се състави програма на C++, чрез която се въвеждат 10-50 цифри.
На екрана да се изведе числото, формирано от сбора на въведените цифри.
Пример: 23456
Изход: 20
Решение

Да се състави програма на C++, чрез която се извеждат всички главни букви от латинската азбука и техните ASCII кодове. ASCII (American Standard Code for Information Interchange).
Извежданият резултат да бъде оформен в две колони.
Изход:
Буквата: A има ASCII код: 65 Буквата: B има ASCII код: 66
Буквата: C има ASCII код: 67 Буквата: D има ASCII код: 68
Буквата: E има ASCII код: 69 Буквата: F има ASCII код: 70
…..
Буквата: Y има ASCII код: 89 Буквата: Z има ASCII код: 90
Решение

Да се състави програма (C++), която извежда на екрана равнобедрен триъгълник от знаци, започващи от A, нараства до определено число, продължава на същия ред, но вече намалявайки до A.
Пример: 3 Изход:
A
A B A
A B C B A
Решение

Да се състави програма (C++), която при въвеждане на естествено число от интервала [2 - 20] извежда равнобедрен триъгълник с височина въведеното число и запълнен с определен символ.
Входни данни: брой знаци, вид знак.
Пример: 3, А Изход:
А
ААА
ААААА
Решение

Да се състави програма (C++), която по въведени два знака извежда триъгълник от знаци: Пример: A,I Изход:
1-ви ред: I H G F E D C B A
2-ри ред: H G F E D C B A
3-ти ред: G F E D C B A
...
до 9-ти ред: A
Решение

Да се състави програма (C++), която по въведени два знака извежда триъгълник от знаци: Пример: A,I Изход:
1-ви ред: A
2-ри ред: B A
3-ти ред: C B A
... до
9-ти ред:I H G F E D C B A
Решение

В шахмата фигурата пешка може да се придивижва едно поле напред или по диагонал едно поле напред. Ако е в началното си положение (ред 2), може да се премести през едно поле.
Да се състави програма на C++, чрез която се въвежда знак [A..H] за номер колона и естесвено число [1..8] за номер на ред. Програмата да изведе възможните ходове на шахматна пешка.
Пример: b2 Изход: B3; C3; A3; B4
Решение

В шахмата фигурата цар може да се придивижва едно поле във всяка от 8-те посоки.
Да се състави програма на C++, чрез която се въвежда знак [A..H] за номер колона и естесвено число [1..8] за номер на ред. Програмата да изведе възможните ходове на шахматен цар.
Пример: g4 Изход: G5; H5; F5; G3; H3; F3; F4; H4
Решение

В шахмата фигурата топ, тур може да се придивижва по всички полета на реда и стълба, към които позицията му принадлежи.
Да се състави програма на C++, чрез която се въвежда знак [A..H] за номер колона и естесвено число [1..8] за номер на ред. Програмата да изведе възможните ходове на шахматен топ.
Пример: g3 Изход: G1; G2; G4; G5; G6; G7; G8; A3; B3; C3; D3; E3; F3; H3;
Решение

В шахмата фигурата кон се движи под формата на буквата Г, като прескача свои и чужди фигури.
Да се състави програма на C++, чрез която се въвежда знак [A..H] за номер колона и естесвено число [1..8] за номер на ред. Програмата да изведе възможните ходове на шахматен кон.
Пример: f4 Изход: D5, H5, E6, G6, D3, H3, E2, G2
Решение

В шахмата фигурата офицер може да се придивижва по всички полета на двата диагонала, към която позицията му принадлежи.
Да се състави програма на C++, чрез която се въвежда знак [A..H] за номер колона и естесвено число [1..8] за номер на ред. Програмата да изведе възможните ходове на шахматен офицер.
Пример: d6 Изход: A3; B4; C5; E7; F8; H2; G3; F4; E5; C7; B8;
Решение

В шахмата фигурата царица, дама може да се придивижва по всички полета на реда и стълба както и в двата диагонала, към които позицията му принадлежи.
Да се състави програма на C++, чрез която се въвежда знак [A..H] за номер колона и естесвено число [1..8] за номер на ред. Програмата да изведе възможните ходове на шахматна царица.
Пример: g4 Изход: D1; E2; F3; H5; H3; F5; E6; D7; C8; G1; G2; G3; G5; G6; G7; G8; A4; B4; C4; D4; E4; F4; H4;
Решение

Страница 1 от 2