Ir para conteúdo

POWERED BY:

Arquivado

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

Lovelace King

[Resolvido]  em C

Recommended Posts

Galera , estou tentando criar um algoritmo em C que leia o nome João e escreva na tela cada letra desse nome 5x, e entao passe p/ próxima . O algoritmo tem que ficar repetindo isso até somar 1000 caracteres escritos.

 

Eu fiz dessa forma , mas ele está escrevendo cada letra apenas 4x ! Se alguém puder me dizer onde estou errando,ficarei muito grato.

 

#include <stdio.h>  
#include <stdlib.h>
int main() 
{ 
   int index = 0, contador; 
  char letras[5] = "Joao"; 
  for (contador=0; contador < 1000; contador++) 
  { 
	  if (contador%5!=0) 
	   printf("\n%c",letras[index]); /* com esse comando eu queria
	   que ele repetisse a letra 5 vezes e então passasse à 
	   próxima e a repetisse 5 vezes, e assim por diante*/
	  else
	  ++index;
	  if (index == 4)
	  index = 0;
	  }
   system("pause");
   return (0); 
  
}

 

Obs. = Uso o DevC ++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido: Lógica de Programação e Algoritmos http://forum.imasters.com.br/public/style_emoticons/default/seta.gif C/C++

 

-------------------------------------------------------------------------------

 

bom olha como eu fiz:

#include <stdio.h>  
#include <stdlib.h>
int main() 
{ 
   int index = 0, contador,i; 
  char letras[5] = {'J','o','a','o','\0'}; 
  for (contador=0; contador < 1000; contador++) 
  { 
	  for(i=0;i<5;i++) printf("\n%c",letras[index]);
	  if (++index == 4) index = 0;
	  }
	  puts("\n");
   system("pause");
   return (0);

}
Minha lógica foi a seguinte, eu coloco ele pra exibir a letra 5 vzs usando o laço 'for', depois q imprimir 5 vzs a letra na tela incrementa o indice e c for igual a 4 ele volta a valer 0;

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quit,se eu entend teu algoritmo,ele não imprime 1000 caracteres....ele imprime 4000; e não precisa de

if (++index == 4) index = 0;

. você tá dentro de um for. Quando iniciar a iteracao seguinte,o indice vai ser setado pra 0 no for interno.

 

 

E mais atenção nos detalhes...Olha o que você deixou passar:

 

char letras[5] = {'J','o','a','o','\0'}; 
(...) 
for(i=0;i<5;i++) printf("\n%c",letras[index]);

 

 

O terminador esta na posicao 4.Vai sair lixo na tela.

 

 

#include <stdio.h>  
int main()
{
 char letras[4] = "Joao";
 int contador,i;
 contador = 0;

 do {
  for(i=0;i<4;i++) {
	 if (contador == 1000)
		break;
	 printf("%c",letras[i]);
	 contador++;
  }
  } while (contador <1000);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

import java.Isis acho q você naum entendeu muito bem!

ele naum qr q você escreve o nome JOAO 1000vzs e sim qr q escreva kd letra 5 vzs!

 

o mew algoritmo rodou tranquilo aki, sem sujeira nem nd!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites
o mew algoritmo rodou tranquilo aki, sem sujeira nem nd!

 

Nao vi q era index e nao i.

 

 

do {
  for(i=0;i<4;i++) // loop das letras
	 for(j=1;j<=5;j++) { //loop de impressao
		if (contador == 1000)
		   break;
		printf("%c",letras[i]);
		contador++;
	 }
  }
  } while (contador <1000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.