PDA

Prikaži potpunu verziju : Varijacije sa ponavljanjem


Anaxander
2.2.2011, 20:39
Imam problem sa kodom, predugo traje izvršavanje. Neke ideje?

#include <stdio.h>
int n,k,x[100];

main(){
int i,j;
char a[]={'P,'R','O','B','A'};

k=n=sizeof(a);

for (i=0;i<k;i++) x[i]=0;

while (x[0]<=n)
{
for (i=0;i<k;i++) printf("%c",a[x[i]]);
x[k-1]+=1;
for (i=k-1;i>=0;i--)
if (x[i]>n) {
x[i]=0;
x[i-1]+=1;
}
printf("\n");
}
}

EclipsE
2.2.2011, 20:45
Loop ti ne prestaje... Kada dodje do kraja, opet krene iz pocetka (bar tako deluje).

Belphegor
2.2.2011, 23:54
#include <iostream>

int main()
{
const char chars[] = { 'P', 'R', 'O', 'B', 'A' };
const int length = sizeof(chars);
int inx[length] = { 0 };

while(1)
{
for(int i = 0; i < length; ++i)
{
std::cout << chars[inx[i]];
}
std::cout << std::endl;

int j;
for(j = (length - 1); j >= 0; --j)
{
if (++inx[j] < length)
{
break;
}
else
{
inx[j] = 0;
}
}
if(j < 0)
{
break;
}
}

std::cout << "Press enter to exit..." << std::endl;
std::cin.get();
return 0;
}

sashar
14.3.2011, 22:55
Pozdrav. Jel moze neko da mi kaze sta treba da se prepravi u kodu da bi ispisao sve kombinacije sa ponavljanjem cetvorocifrenih brojeva od cifara od nula do devet...u prevodu trebaju mi sve cetvorocifrene kombinacije od brojeva od nula do devet....Hvala unapred...:D

Geomaster
14.3.2011, 23:12
Pozdrav. Jel moze neko da mi kaze sta treba da se prepravi u kodu da bi ispisao sve kombinacije sa ponavljanjem cetvorocifrenih brojeva od cifara od nula do devet...u prevodu trebaju mi sve cetvorocifrene kombinacije od brojeva od nula do devet....Hvala unapred...:D
Da se prepravi u kom kôdu?

sashar
14.3.2011, 23:19
u ovom donjem, posto on prikazuje sve kombinacije...:D

MG-RAY
15.3.2011, 13:25
Pozdrav. Jel moze neko da mi kaze sta treba da se prepravi u kodu da bi ispisao sve kombinacije sa ponavljanjem cetvorocifrenih brojeva od cifara od nula do devet...u prevodu trebaju mi sve cetvorocifrene kombinacije od brojeva od nula do devet....Hvala unapred...:D

:confused:


#include "stdio.h"

int main()
{
for(int i = 0; i < 10000; i++)
{
printf("%04d\n", i);
}
return 0;
}

http://codepad.org/15ZwNXFv

Belphegor
15.3.2011, 17:04
Samo da napomenem da ima "greski" (bad coding practice) u mom kodu, ispravka:

const char chars[] = { 'P', 'R', 'O', 'B', 'A', '\0' };
const int length = (sizeof(chars) / sizeof(char)) - 1;//na nekim sistemima char != 1 byte