Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda explicar contagem num vetor de caracteres


david-ikki

Pergunta

Olá pessoal !

Boa tarde.Vou explicar o que eu entendi se eu estiver errado corrijam-me por favor.

#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
main()
{
int pp=1,tam,x;               <- declara 1 iteiro pp , e  aquela declaração depois do = diz o que ?? 
char APELIDO[100];                    <- vetor de 100 posições
printf ("Informe um apelido:");     <-imprime na tela
gets(APELIDO);                           <- colhe dados
tam=strlen(APELIDO);                 <- retorna tamanho da string
printf("\nAs letras na posicao impar são: ",x);  <- imprime posiçao impar
while(pp<=tam-1)                                          <- faz teste se pp= tamanho final da string...é isso mesmo  ??
{
printf(" %c ",APELIDO[pp]);   <- imprime a string caso seja menor que 3 sem mostrar o que ta na terceira posição...... é isso ?? 
pp=pp+2;                             <- soma se 2 a pp
}
printf ("\n");                                                        resto leitura normal...
printf("\n\tNome digitado: %s\t",APELIDO);
printf ("\n\n");
system("PAUSE");
return 0;
}

Bom o que eu desejo é entender linha por linha desse programa se alguém poder explicar agradeço....

é que estou fazendo exercicios com vetores e matrizes......

Desde de já agradeço.....Obrigado....até ++++.... :rolleyes: :rolleyes: :rolleyes:

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
int pp=1,tam,x; //pp, tam e x são do tipo int. pp começa com valor 1

printf("\nAs letras na posicao impar são: ",x); //imprime aquela frase e o valor de x. Mas x tá sem valor nenhum aqui.

while(pp<=tam-1) // testa de pp menor ou igual a (tam - 1)

printf(" %c ",APELIDO[pp]); //imprime o caractere da posição pp do vetor apelido.

Link para o comentário
Compartilhar em outros sites

  • 0
printf("\nAs letras na posicao impar são: ",x); //imprime aquela frase e o valor de x. Mas x tá sem valor nenhum aqui.

Como o valor de x não é usado não terá problema, mas se o valor fosse usado seria um problema. Nem lembro como é tratado isso em C.

O valor de x não será impresso a menos que na formatação voce indique isso.

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu pessoal obrigado...+ ainda tenbho duvida naqule teste while quanto se faz "tam<= -1" que menos 1 significa ???

agradeço a atenção de todos obrigado..

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi sua dúvida..

O operador <= retorna verdadeiro se um valor for menor ou igual ao outro (não há muito o que explicar).

Ou seja, o loop continuará enquanto o valor for menor que (valor-1) ou igual a (valor-1)

Como se tratam inteiros, outra forma de escrever seria p<tam.

Link para o comentário
Compartilhar em outros sites

  • 0

Legal entendi + o que que passa o valor da posição impar para a variavel x se x não é iniciado com nada e nem é usado pra nada à não ser na funcão "printf"...

Link para o comentário
Compartilhar em outros sites

  • 0

x não tem nenhuma utilizade nesse código.

Quem contém as posições ímpares do vetor é pp.

Iniciado com 1 e acada iteração soma-se mais 2.

Legal entendi + o que que passa o valor da posição impar para a variavel x se x não é iniciado com nada e nem é usado pra nada à não ser na funcão "printf"...
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...