Author |
Message |
23/06/2010 03:05:11
|
Filipbitola
Joined: 19/03/2010 15:33:18
Messages: 32
Offline
|
Ako mozi nekoj da mi kazi so mi e problemov vo kodov:
#include <iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int i,p,a[10];
vector<int> digits(int n)
{
vector<int> c;
while(n>=1)
{
c.push_back(n%10);
n/=10;
}
return c;
}
int minus(int n)
{
int k,counter=0;
bool flag=true;
while(flag==true)
{
vector<int> c=digits(n);
for(i=0;i<c.size();i++)
{
for(int j=0;j<p;j++)
{
if(c[i]==a[j])
{
flag=true;
break;
}
}
if(flag==true) break;
}
if(flag==true) n--;
else{ k=c.size();flag=false;}
counter++;
}
return k+counter;
}
int plus(int n)
{
int k,counter=0;
bool flag=true;
while(flag==true)
{
vector<int> c=digits(n);
for(i=0;i<c.size();i++)
{
for(int j=0;j<p;j++)
{
if(c[i]==a[j])
{
flag=true;
break;
}
}
if(flag==true) break;
}
if(flag==true) n++;
else{ k=c.size();flag=false;}
counter++;
}
return k+counter;
//return 0;
}
int main()
{
int n;
cin>>n;
cin>>p;
for(i=0;i<p;i++)
cin>>a[i];
cout<<min(plus(n),minus(n));
return 0;
}
Mi veli deka ne mi se deklarirani ni plus, ni minus a se.
|
|
|
23/06/2010 16:07:06
|
obi1kenobi
Joined: 18/02/2010 20:01:33
Messages: 168
Offline
|
Или користиш DevC++ или не копираш добро... Сепак мислам дека е првото и ако сум во право, инсталирај Code::Blocks и се ќе биде ок
|
|
|
23/06/2010 18:10:37
|
Bojan Kostadinov
Joined: 08/10/2009 13:56:21
Messages: 89
Offline
|
Преименувај ги функциите plus и minus, на пример во plus2 и minus2. Проблемот е што веќе постојат структури со тоа име:
- http://www.cplusplus.com/reference/std/functional/plus/
- http://www.cplusplus.com/reference/std/functional/minus/
И ако користиш Dev-C++, инсталирај си Code::Blocks
This message was edited 2 times. Last update was at 23/06/2010 18:15:53
|
|
|
23/06/2010 20:59:37
|
Filipbitola
Joined: 19/03/2010 15:33:18
Messages: 32
Offline
|
ova e vekje napisano na code::blocks
fala za pomosta
This message was edited 1 time. Last update was at 23/06/2010 20:59:57
|
|
|
23/06/2010 22:38:35
|
obi1kenobi
Joined: 18/02/2010 20:01:33
Messages: 168
Offline
|
Епа тогаш форумот ги тргнал табулаторите и кодот е лошо форматиран (претпоставувам дека го копираше кодот таков каков што беше). Можеби би било добро да се направи таг [CODE][/CODE] како на другите програмерски форуми за да се овозможи барем форматирањето да се задржи, а може и да се бои кодот ама не мора
И дефинитивно, одлично би било ако форумот има функционален RSS feed или барем испраќа мејлови кога некој ќе одговори во тема во која сум коментирал, за да не морам на секој пола саат рачно да проверувам хахаха
|
|
|
23/06/2010 22:56:17
|
DevGeeK
Joined: 25/12/2009 14:51:57
Messages: 30
Offline
|
Има опција за прикажување на код, стисни на копчето "одговори" за повеќе опции и ќе видиш копче за прикажување на код. Мислам дека има и опција за известување при добивање на одговор, оди во "Мој Профил" и кај категоријата "Конфигурација" ќе видиш опции за праќање на известување.
This message was edited 1 time. Last update was at 23/06/2010 22:56:36
|
Fifty Years Of Programming Language Research, And We End Up With C++ ? |
|
|
24/06/2010 11:22:44
|
obi1kenobi
Joined: 18/02/2010 20:01:33
Messages: 168
Offline
|
Го најдов тагот за код, но сите опции за известување ми се уклучени а не добивам мејлови.
|
|
|
05/12/2012 02:25:19
|
addictus
Joined: 08/10/2010 11:22:51
Messages: 23
Location: Куманово
Offline
|
Може некој да ми помогне да ја најдам грешката во мојот код?
Без проблеми кодов ми работи во било кој компајлер освен на сајтов (вадев и пробував тест примери). Проблемот е некаде во редовите 47 - 52 каде што би требало да го одредам најблискиот број кој е поголем до потребниот (на пример потребен е 99993 а 3 и 4 не се дозволени, да ми даде 99995). На било кој компајлер ми работи без проблеми и ми ги додава броевите 90,000 ; 9,000 ; 900 ; 90 ; 5 за да добијам финални 99,995 додека тука прави некои вариации со 89,999 ; 98,999 ; 99,899 ; 99,989 и слични. Променливата maxbroj има зададена почетна вредност 0, така да тоа не е проблемот. Исто така ги проверував вредностите на broj[j]*pow(10,broj.size()-j-1) и исто така тие се нормални, така да не сум сигурен што би можело да го предизвикува проблемот.
Задачава ми поминува на 6 од 10 тест примери, а на code::blocks / ideone ми поминува на другите примери.
|
Решенија на задачи - aandevski.wordpress.com |
|
|
06/12/2012 20:03:44
|
MOI
Joined: 07/07/2010 16:31:48
Messages: 447
Offline
|
addictus wrote:Без проблеми кодов ми работи во било кој компајлер освен на сајтов (вадев и пробував тест примери). Проблемот е некаде во редовите 47 - 52 каде што би требало да го одредам најблискиот број кој е поголем до потребниот (на пример потребен е 99993 а 3 и 4 не се дозволени, да ми даде 99995). На било кој компајлер ми работи без проблеми и ми ги додава броевите 90,000 ; 9,000 ; 900 ; 90 ; 5 за да добијам финални 99,995 додека тука прави некои вариации со 89,999 ; 98,999 ; 99,899 ; 99,989 и слични. Променливата maxbroj има зададена почетна вредност 0, така да тоа не е проблемот. Исто така ги проверував вредностите на broj[j]*pow(10,broj.size()-j-1) и исто така тие се нормални, така да не сум сигурен што би можело да го предизвикува проблемот.
Задачава ми поминува на 6 од 10 тест примери, а на code::blocks / ideone ми поминува на другите примери.
Провери тука: http://mendo.mk/jforum/posts/list/165.page
Вториот пример (само тој го проверив) не дава точен резултат ни на МЕНДО ни на Ideone.com. Сигурно ли ти е ова најновото решение?
This message was edited 1 time. Last update was at 06/12/2012 20:04:21
|
|
|
08/12/2012 08:44:13
|
obi1kenobi
Joined: 18/02/2010 20:01:33
Messages: 168
Offline
|
pow враќа double, а ти имаш имплицитна промена во int. Дури и ако не е тоа причина за грешката, ептен е лошо тоа да го имаш во кодот.
|
|
|
17/12/2012 03:13:30
|
addictus
Joined: 08/10/2010 11:22:51
Messages: 23
Location: Куманово
Offline
|
MOI wrote:
addictus wrote:Без проблеми кодов ми работи во било кој компајлер освен на сајтов (вадев и пробував тест примери). Проблемот е некаде во редовите 47 - 52 каде што би требало да го одредам најблискиот број кој е поголем до потребниот (на пример потребен е 99993 а 3 и 4 не се дозволени, да ми даде 99995). На било кој компајлер ми работи без проблеми и ми ги додава броевите 90,000 ; 9,000 ; 900 ; 90 ; 5 за да добијам финални 99,995 додека тука прави некои вариации со 89,999 ; 98,999 ; 99,899 ; 99,989 и слични. Променливата maxbroj има зададена почетна вредност 0, така да тоа не е проблемот. Исто така ги проверував вредностите на broj[j]*pow(10,broj.size()-j-1) и исто така тие се нормални, така да не сум сигурен што би можело да го предизвикува проблемот.
Задачава ми поминува на 6 од 10 тест примери, а на code::blocks / ideone ми поминува на другите примери.
Провери тука: http://mendo.mk/jforum/posts/list/165.page
Вториот пример (само тој го проверив) не дава точен резултат ни на МЕНДО ни на Ideone.com. Сигурно ли ти е ова најновото решение?
Ми паѓаше на 2/8/9/10. На вториот пример паѓаше за друга причина (лесно поправив), а 8/9/10 паѓаше заради pow. Направив своја функција за степенување што враќа integer и ми помина.
Фала!
|
Решенија на задачи - aandevski.wordpress.com |
|
|
|