» »

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 :D

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).

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);
}
}
}
0:)
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

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 8-O
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.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Niti - segmentation fault

Oddelek: Programiranje
211973 (820) galu
»

[C#] Operacija IN in ALI med dvema int številoma

Oddelek: Programiranje
111169 (982) LeQuack
»

c# težava delo z nizi

Oddelek: Programiranje
131520 (1371) Tutankhamun
»

[C] Narascajoce sortiranje linearnega seznama

Oddelek: Programiranje
71856 (1745) Jebiveter
»

štetje vpisanih znakov

Oddelek: Programiranje
81352 (1265) bostek

Več podobnih tem