Ir ao conteúdo
  • Cadastre-se
Ranan

Ajuda com programinha para repetir letras

Recommended Posts

bom, eu estou estudando c de forma auto-didata e estou com um problema com um exemplo que tenho de implementar.

dado o exemplo:

#include <stdio.h>

int main()

{

int index = 0, contador;

char letras[5] = "Joao";

for (contador=0; contador < 1000; contador++)

{

printf("\n%c",letras[index]);

(index==3) ? index=0: ++index;

}

}

Esse programa imprime a palavra Joao letra por letra, de forma vertical, ate a quantidade de letras darem 1000.

Esse exemplo é de uma apostila de C que estou estudando.

A primeira duvida é: pra que que serve esse index? E porque ele recebe 3? No livro nao fala o porque de ter sido colocado esse index no exemplo.

A segunda duvida é:

Altere o último exemplo para que ele escreva cada letra 5 vezes seguidas.

Para isto, use um 'if' para testar se o contador é divisível por cinco (utilize o

operador %) e só então realizar a atualização em index.

Ja coloquei o if em tudo quanto é lugar do programa e o % de tudo quanto é jeito, mas ou o programa rejeito a alteração que eu faço e continua a imprimer as letras da mesma forma que antes, ou ele da erro, trava e nao faz mais nada...

ALGUEM AI PODERIA ME AJUDAR?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz roda esse codigo que acertei o seu, rodei e funcionou

#include <stdio.h>

#include <stdlib.h>

int main(){

int index = 0, contador;

char letras[5] = "Joao";

for (contador=0; contador < 1000; contador++){

printf("\n%c",letras[index]);

if(index==3){

index=0;

}

else{

++index;

}

}

system("pause>null");

}

Bom a respeito do index, ele está trabalhando como indice da string letras que você declarou no inicio. Pense em cada letra de João com um indice, ou seja o indice 0 (index = 0) corresponde a letra J da string João. Para entender melhor, o indice ao invés de comecar em 1 comeca em 0 e é por isso que vai até 3, porque quando você tem index=0 ele imprime J, quando você tem index=1 ele imprime o, quando você tem index=2 ele imprime a e quando você tem index=3 ele imprime o, e ai quando chega em 3 ele reseta o index para poder escrever joao de novo, manjou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehehe no meu compilador nao rodou... huauhauhauhahua :P eu uso o dev c++ 4.9.9.2. No meu caso aqui, ele imprimiu a palavra Joao varias vezes. creio eu que ele imprimiu a palavra x vezes ate a quantidade de letra total chegar a mil. Mas ele nao repetiu cada letra 5 vezes... acabou acontecendo igual estava ocorrendo nos outros programas que eu fiz... :P

mas obrigado =]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×