Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Помощ за вмъкване на ограничение в сорс код

Featured Replies

Искам да помоля за малко помощ. Условието на задачата ми е следното:

Да се състави програма за пресмятане на броя на различните начини, по които едно естествено число N може да бъде представено като сума, всяко от събираемите на която е по- малко от дадено естествено число K (K<N). 

Това, което аз съм направил е да ми изкарва на екрана всички възможни комбинации. Проблема е, че не знам как да направя така, че да сложа ограничение. Пример: избирам си програмата да раздроби на събираеми числото "4 - N". Искам да направя така, че да не ми изписва раздробяване с числото "3" ( в случая при въвеждане на К ). 
примерно изкарване от програмата, така както трябва да бъде : "въведено число - 4, въведено ограничение - 3 -> 4=1+1+1+1 / 4=2+2 / 4=2+1+1"

Моят source code: 

 

#include <iostream>
using namespace std;
 
int chislo, sumi[32]; //syhranqwa porednoto chislo za razbiwane
//za da move da se osyshestwqt wsichki predstawqniq ot chisloto do 1
void pechat(int l)
{ int a;
  cout<<chislo<<" = ";
  for (a = 1; a < l; a++) cout<<sumi[a]<<"+"; //pechat na cifra
    cout<<sumi[l]<<endl;
}
 
void predstav(int N, int pos)
//argumenti: y-chislo za razbiwane; pos - kolko pyti e razbiwano
{ int b;
  for (b = N; b >= 1; b--)
   {if (N != b)
    {  sumi[pos] = b;//chislo za razbiwane
      if (sumi[pos] <= sumi[pos - 1]) {predstav(N - b, pos + 1);} //rekursiq
      //!!!sumi[0] = chislo, za da ima izhod ot rekursiqta;
    }
    else
    { sumi[pos] = b;//chislo za razbiwane
      if (sumi[pos] <= sumi[pos - 1]) pechat(pos);//izwevda wid predstawqne
 //za da nqma powtorenie wsqko sledwasho sybiraemo e <= na predhodnoto
    }//else
  }//for
}//void
 
int main()
{ cout<<"Da se systawi programa, koqto izwevda wsichki wyzmovni razbiwaniq\n";
  cout<<"kato sumi na dadeno estestweno chislo ot interwala [5..10]\n";
  cout<<"Primer: 4 Izhod: 4; 3+1; 2+2; 2+1+1; 1+1+1+1;\n";
  cout<<"Wywedete chislo ot interwala [5..10]: ";cin>>chislo;
  cout<<"Wywedete drugo chislo: ";cin>>K;
  sumi[0] = chislo;//za da ima kraj na rekursiq
  predstav(chislo, 1);
system("pause");
return 0;
}
 
Извинявам се ако бъде нахално, но може ли някой бъде така добър да ми вмъкне това "ограничение" , което аз искам да сложа.
Благодаря предварително!

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.