[Logo] Mendo Judge Discussion Board - Forums
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
Stranica  XML
Forum Index » Задачи од национални натпревари
Author Message
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.
obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

Или користиш DevC++ или не копираш добро... Сепак мислам дека е првото и ако сум во право, инсталирај Code::Blocks и се ќе биде ок
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

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

obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

Епа тогаш форумот ги тргнал табулаторите и кодот е лошо форматиран (претпоставувам дека го копираше кодот таков каков што беше). Можеби би било добро да се направи таг [CODE][/CODE] како на другите програмерски форуми за да се овозможи барем форматирањето да се задржи, а може и да се бои кодот ама не мора

И дефинитивно, одлично би било ако форумот има функционален RSS feed или барем испраќа мејлови кога некој ќе одговори во тема во која сум коментирал, за да не морам на секој пола саат рачно да проверувам хахаха
DevGeeK


[Avatar]

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++ ?
obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

Го најдов тагот за код, но сите опции за известување ми се уклучени а не добивам мејлови.
addictus


[Avatar]

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
[WWW]
MOI



Joined: 07/07/2010 16:31:48
Messages: 441
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

obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

pow враќа double, а ти имаш имплицитна промена во int. Дури и ако не е тоа причина за грешката, ептен е лошо тоа да го имаш во кодот.
addictus


[Avatar]

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
[WWW]
 
Forum Index » Задачи од национални натпревари
Go to:   
Powered by JForum 2.1.8 © JForum Team