Ir ao conteúdo
  • Cadastre-se

Ajuda com programinha para repetir letras


Ranan

Posts recomendados

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?

Link para o comentário
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?

Link para o comentário
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 =]

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!