Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
BlameGame Forumaš(ica)
Pridružen/a: 14. 09. 2011. (19:17:53) Postovi: (6C)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
Zenon Forumaš(ica)
Pridružen/a: 09. 09. 2011. (19:14:43) Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]
|
|
[Vrh] |
|
BlameGame Forumaš(ica)
Pridružen/a: 14. 09. 2011. (19:17:53) Postovi: (6C)16
|
Postano: 12:46 sri, 13. 3. 2013 Naslov: |
|
|
#include <stdio.h>
long int sum = 0;
void f(long int n, int niz[], int k, int l)
{
int i, novi, temp;
sum += n;
if(l == 0)
return;
for(i=0; i<k; i++)
{
novi = 1;
temp = n;
if(k != l && n == 0)
novi = 0;
while(temp)
{
if((temp % 10) == niz[i])
{
novi = 0;
break;
}
temp /= 10;
}
if(novi) f(10*n + niz[i], niz, k, l-1);
}
return;
}
int main(void)
{
int k, niz[9], i, j;
scanf("%d", &k);
for(i=0; i<k; i++)
scanf("%d", &niz[i]);
for(i=0; i<k-1; i++)
for(j=i+1; j<k; j++)
if(niz[i] == niz[j])
{
printf("Greska!");
return 0;
}
f(0, niz, k, k);
printf("%ld", sum);
return 0;
}
imala sam problem ako je 0 jedan od ucitanih znamenki no mislim da je to dobro rjeseno s ovim if (k != l), no za moj primjer, naveden gore sad mi izbaci -neku veliku znamenku, prije je to bio samo broj 20ak puta manji od Vseginog. Molim pomoc
#include <stdio.h>
long int sum = 0;
void f(long int n, int niz[], int k, int l)
{
int i, novi, temp;
sum += n;
if(l == 0)
return;
for(i=0; i<k; i++)
{
novi = 1;
temp = n;
if(k != l && n == 0)
novi = 0;
while(temp)
{
if((temp % 10) == niz[i])
{
novi = 0;
break;
}
temp /= 10;
}
if(novi) f(10*n + niz[i], niz, k, l-1);
}
return;
}
int main(void)
{
int k, niz[9], i, j;
scanf("%d", &k);
for(i=0; i<k; i++)
scanf("%d", &niz[i]);
for(i=0; i<k-1; i++)
for(j=i+1; j<k; j++)
if(niz[i] == niz[j])
{
printf("Greska!");
return 0;
}
f(0, niz, k, k);
printf("%ld", sum);
return 0;
}
imala sam problem ako je 0 jedan od ucitanih znamenki no mislim da je to dobro rjeseno s ovim if (k != l), no za moj primjer, naveden gore sad mi izbaci -neku veliku znamenku, prije je to bio samo broj 20ak puta manji od Vseginog. Molim pomoc
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 13:33 sri, 13. 3. 2013 Naslov: |
|
|
Kod, u skladu s napisanim u mom sigu, necu analizirati.
However, izveo sam ga na svom racunalu i radi dobro (za gornji primjer). Moguce je da imas staro racunalo (32bit) ili vrtis Windows, pa je je [tt]long[/tt] isto sto i [tt]int[/tt] ([url=http://en.wikipedia.org/wiki/Integer_%28computer_science%29#Common_long_integer_sizes]referenca[/url]) i rezultat zato ispadne negativan. Moja masina je 64bit Linux i tu stvar prolazi, a onda bi trebalo i na DGu (jasno, ako program nema neki drugi problem), koji je u tom pogledu jako slican.
Preporucam poslati zadacu aplikaciji i vidjeti sto ce ona reci.
Kod, u skladu s napisanim u mom sigu, necu analizirati.
However, izveo sam ga na svom racunalu i radi dobro (za gornji primjer). Moguce je da imas staro racunalo (32bit) ili vrtis Windows, pa je je long isto sto i int (referenca) i rezultat zato ispadne negativan. Moja masina je 64bit Linux i tu stvar prolazi, a onda bi trebalo i na DGu (jasno, ako program nema neki drugi problem), koji je u tom pogledu jako slican.
Preporucam poslati zadacu aplikaciji i vidjeti sto ce ona reci.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
BlameGame Forumaš(ica)
Pridružen/a: 14. 09. 2011. (19:17:53) Postovi: (6C)16
|
|
[Vrh] |
|
|