Boas...epa tou aqui com uma duvida parva... Eu quero imprimir uma sequencia deste genero: 11111000001111100000 em que o numero de 1's ou 0's é um valor dado. Obrigado
Código: int n=10; /* número de uns e zeros */ int k; k=2*n; while( true ){ for ( int i = 0; i < k; i++ ) { if ( i > n ) /* imprime os zeros */ else /* imprime os uns */ } } Isto provoca um ciclo infinito, mas dá para criares uma situação de escape. Utilizei apenas um ciclo for para optimizar, mas podiam ser 2 ciclos (um para os uns, outro para os zeros). Não compilei, mas deve funcionar.
Não deve compilar porque dentro dos parentisis, o for leva ponto e virgula, fora isso compila. De qq modo tiveste bem, porque eu ainda nao consegui perceber o q e' o rapaz quer... : p
True. Já corrigi. O que ele quer (pelo que percebi) é que escreva no ecrã "n" uns e zeros, intercalados. Tipo: n=2 -> "11001100..." n=3 -> "111000111000..." And so on...
ok... e se eu quiser que imprima ate um determinado numero? por exemplo 10 Sequencias de 1 e 0 (tal cm fizeste) mas com a condição de aparecerem 10 numeros no ecran, ou seja 1100110011 qd o periodo for 2 nao basta um simples while.... alguem me ajuda? Obg
Tipo... Mas qual é a dificuldade? Em vez do ciclo infinito, fazes: Código: int m=10; /* número máximo de números no ecrã */ int n=10; /* número de uns e zeros */ int k; k=2*n; m=m%k; /* divisão inteira */ for ( int j = 1; j <= m ; j++ ){ for ( int i = 0; i < k; i++ ) { if ( i > n ) /* imprime os zeros */ else /* imprime os uns */ } } Espero não te estar a fazer a papinha toda... Era suposto PENSARES sobre isto.
Isso nao esta a fazer bem aquilo que eu queria... eu queria imprimir, por exemplo, apenas 10 numeros no ecran mas em sequencias por exemplo: 1100110011 tem 10 numeros Peço desculpa, mas n estou a conseguir!
Vê lá se tens a linha de código da divisão inteira como está no post. Eu alterei passados uns minutos. Isso que estás a fazer é para a escola ou para uso pessoal?
Sim eu reparei que alteraste...mas mm assim n dá. O que faz é imprimir cada numero m vezes! É pessoal claro, estou me a iniciar nesta linguagem. obrigado
Ok, já compilei e já resolvi os problemas: Código: int m=20; /* número máximo de números no ecrã */ int n=3; /* número de uns e zeros */ int k; k=2*n; m=m/k; for ( int j = 1; j <= m ; j++ ){ for ( int i = 0; i < k; i++ ) { if ( i >= n ) { /* imprime os zeros */ System.out.print("0"); } else { /* imprime os uns */ System.out.print("1"); } } }