Forum » Programiranje » ena funkcija oz. progic v c-ju
ena funkcija oz. progic v c-ju
Popcek ::
Rab bi napisu funkcijo v c-ju....
hocem pa da mi izpise nize dolzine n v katerih nastopata samo crki a in b v nizih pa ne sme nastopat podniz abb. mi nekako nikakor ne uspe. aja nizi so pa cist vsi dolzine n ..... recmo n =3
aaa
aba
baa
bab
bbb
help pliz
hocem pa da mi izpise nize dolzine n v katerih nastopata samo crki a in b v nizih pa ne sme nastopat podniz abb. mi nekako nikakor ne uspe. aja nizi so pa cist vsi dolzine n ..... recmo n =3
aaa
aba
baa
bab
bbb
help pliz
OwcA ::
To so permutacije s ponavljanjem. Malo poglej kako je v matematiki s tem.
Skratka poiščeš vse razporeditve elementov a in b na n mest, nakar iz te množice odstraniš tiste razporeditve, ki jih nočeš imeti vključenih (abb).
Skratka poiščeš vse razporeditve elementov a in b na n mest, nakar iz te množice odstraniš tiste razporeditve, ki jih nočeš imeti vključenih (abb).
Popcek ::
recmo neki tazga ..... pol se ni treba abb ven izlocat .....
static void generiraj (char niz[], int i, int n)
{
if(i==n)
{
niz[i]='\0';
printf("%s ", niz);
INDEX++;
}
else
{
niz[i]='a';
generiraj(niz, i+1, n);
if(i<2 || niz[i-2]!='a' || niz[i-1]!='b')
{
niz[i]='b';
generiraj(niz, i+1, n);
}
}
}
no zdej me pa zanima kako bi pa recmo funkcijo naredu k bi: vhod n mest, funkcija pa izpise vse možne šanse z 0 in 1 ...
recmo n=3:
000
001
010
011
100
101
110
111
se komu kj sanja ? plizzz
static void generiraj (char niz[], int i, int n)
{
if(i==n)
{
niz[i]='\0';
printf("%s ", niz);
INDEX++;
}
else
{
niz[i]='a';
generiraj(niz, i+1, n);
if(i<2 || niz[i-2]!='a' || niz[i-1]!='b')
{
niz[i]='b';
generiraj(niz, i+1, n);
}
}
}
no zdej me pa zanima kako bi pa recmo funkcijo naredu k bi: vhod n mest, funkcija pa izpise vse možne šanse z 0 in 1 ...
recmo n=3:
000
001
010
011
100
101
110
111
se komu kj sanja ? plizzz
noraguta ::
hmm binarno zaporedje.
#include
void bit_print(int a)
{
int i;
int n = sizeof(int) * CHAR_BIT; /* in limits.h */
int mask = 1 << (n - 1); /* mask = 100...0 */
for (i = 1; i <= n; ++i) {
putchar(((a & mask) == 0) ? '0' : '1');
a <<= 1;
if (i % CHAR_BIT == 0 && i < n)
putchar(' ');
}
}
tuki mas funkcijo, pa zanko cez spust.
for (k=0 ; do_ katere_cifre_ze hoces;k++ )
{
printf("\n%7d = ", k);
bit_print(k);
printf("\n\n");
}
z nizi pa se mal okranclaj zadevo
#include
void bit_print(int a)
{
int i;
int n = sizeof(int) * CHAR_BIT; /* in limits.h */
int mask = 1 << (n - 1); /* mask = 100...0 */
for (i = 1; i <= n; ++i) {
putchar(((a & mask) == 0) ? '0' : '1');
a <<= 1;
if (i % CHAR_BIT == 0 && i < n)
putchar(' ');
}
}
tuki mas funkcijo, pa zanko cez spust.
for (k=0 ; do_ katere_cifre_ze hoces;k++ )
{
printf("\n%7d = ", k);
bit_print(k);
printf("\n\n");
}
z nizi pa se mal okranclaj zadevo
Zgodovina sprememb…
- spremenilo: noraguta ()
Popcek ::
ej 10x ...
no sej uno gor z nizi cist vredu dela ....
sam un INDEX ce te moti ..... je pa itak globaln ... k jih se stejem zdravn....
no kako bi pa se napisu funkcijo z vsemi moznimi kombinacijami a-jev in b-jev ....
zdej sm binarno prevedu v a-je in b-je
kreton ;)
sam jest bi rad da pridejo sam nizi dolzine n......
se prav vse mozne kombinacije a-jev in b-jev na n mest........
anyone?
no sej uno gor z nizi cist vredu dela ....
sam un INDEX ce te moti ..... je pa itak globaln ... k jih se stejem zdravn....
no kako bi pa se napisu funkcijo z vsemi moznimi kombinacijami a-jev in b-jev ....
zdej sm binarno prevedu v a-je in b-je
kreton ;)
sam jest bi rad da pridejo sam nizi dolzine n......
se prav vse mozne kombinacije a-jev in b-jev na n mest........
anyone?
noraguta ::
ma zjeban sem dons na hirt zmodificiran bitprint
void bit_print(int a,int kolk)
{
int i;
int n = sizeof(int) * CHAR_BIT; /* in limits.h */
int mask = 1 << (n - 1); /* mask = 100...0 */
for (i = 1; i <= n; ++i) {
if (i > n - kolk)
{
putchar((((a & mask) == 0) ? '0' : '1'));
}
a <<= 1;
if (i % CHAR_BIT == 0 && i < n)
putchar(' ');
}
}
se poracuni do kok mors zanko spustit.
void bit_print(int a,int kolk)
{
int i;
int n = sizeof(int) * CHAR_BIT; /* in limits.h */
int mask = 1 << (n - 1); /* mask = 100...0 */
for (i = 1; i <= n; ++i) {
if (i > n - kolk)
{
putchar((((a & mask) == 0) ? '0' : '1'));
}
a <<= 1;
if (i % CHAR_BIT == 0 && i < n)
putchar(' ');
}
}
se poracuni do kok mors zanko spustit.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Niti - segmentation faultOddelek: Programiranje | 1973 (820) | galu |
» | [C#] Operacija IN in ALI med dvema int številomaOddelek: Programiranje | 1169 (982) | LeQuack |
» | c# težava delo z niziOddelek: Programiranje | 1520 (1371) | Tutankhamun |
» | [C] Narascajoce sortiranje linearnega seznamaOddelek: Programiranje | 1856 (1745) | Jebiveter |
» | štetje vpisanih znakovOddelek: Programiranje | 1352 (1265) | bostek |