Ir ao conteúdo
  • Cadastre-se

Cortar letras das palavras


Posts recomendados

Pessoal,

 

Estou precisando de uma ajuda...

 

Preciso que imprima a palavra que eu digitei da seguinte forma... 

 

teste

 est

  s

 

sempre tirando a ultima letra da palavra.... mas não estou conseguindo

 

vejam...

 

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <cmath>
#include <iostream>
 
void numcaracter(char letra[20], int
quant){
 
int i, j;
 
 
for (i = 0; i<quant; i++)
 
printf("%c", letra);
 
printf("\n");
}
void imprime(char palavra[20]){
 
int quant;
 
quant = strlen(palavra);
 
while (quant != 0){
 
numcaracter(palavra, quant);
 
quant--;
 
}
}
int main(){
 
char nome[20];
 
printf("\n Digite uma palavra: ");
 
fgets(nome, 20, stdin);
 
imprime(nome);
system("pause");
return 0;
}
 
 
 
Assim também da forma contraria... que também não esta dando certo
 
Exemplo...
  s
 est
teste
 
 
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <cmath>
#include <iostream>
 
void
numcaracter(char letra[20], int
quant){
 
int i;
 
for (i = 0; i<quant; i++)
 
printf("%c", letra);
 
printf("\n");
}
void
imprime(char palavra[20]){
 
int quant = 0;
 
while (palavra[quant] != '\0'){
 
numcaracter(palavra, quant);
 
quant++;
 
}
}
 
int main(){
 
char nome[20];
 
printf("\n Digite uma palavra: ");
 
fgets(nome, 20, stdin);
 
imprime(nome);
system("pause");
return 0;
}
 
Link para o comentário
Compartilhar em outros sites

Amigo, uma string é um vetor de caracteres que se encerra com "/0", então, já que você não quer imprimir a ultima letra, o seu While precisa parar não antes do /0, mas antes da ultima letra, então, para imprimir sem a última letra, faça o laço mais ou menos assim:

 

While(string[posicao+1]!='/0')

 

entendeu? você irá olhar sempre a frente, quando a posição da frente for o fim, ele parará e não imprimirá a última letra! Estou enferrujado com Strings mas espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

1° Estude mais C, você está usando muitas coisas erradas.

 

2º Fim de string é '\0';

 

Vou te mostrar um exemplo, você parte daqui. Estude, entenda e adapte.

#include <stdio.h>#include <string.h>char texto[20] = "teste";void imprime(int inicio, int tamanho){	int i;    for(i = inicio; i < tamanho; ++i)    {        printf("%c", texto[i]);    }}int main(){    // Programa básico de ler a palavra    int inicio = 0;    int tamanho = strlen(texto);    // Imprime a palavra toda    imprime(inicio, tamanho);    printf("\n");        // Imprime a palavra sem a 1° letra e sem a última    imprime(inicio + 1, tamanho - 1);  }
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...