Buscar

Inverte Uma String e Retira Caracteres Não Alpha de uma String em C

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

/*
 * 1) Preparar um procedimento TRIM para aceitar como parâmetro uma cadeia de caracteres arbitrária 
 * e retornar uma cadeia contendo somente os caracteres alfabéticos da cadeia original. 
 * Todos os caracteres brancos, sinais de pontuação, números e caracteres especiais devem ser removidos. 
 * 2) Projetar um procedimento REVERSO para aceitar como parâmetro uma cadeia de caracteres arbitrária 
 * e retornar uma cadeia com o mesmo comprimento, 
 * na qual o primeiro caractere de entrada é o último de saída e assim por diante.
 */
/* 
 * File: main.cpp
 * Author: joao
 * 
 *
 * Created on 28 de Julho de 2017, 16:26
 */
#include <cstdlib>
#include<string.h>
#include<stdio.h>
#include <ctype.h>
using namespace std;
/*void trimStr(char[],char[])
 * @param str1 Cadeia de entrada
 * @param str2 Cadeia de saida 
 * Recebe uma cadeia de caracteres e retorna por parâmetro uma nova cadeia sem 
 * os caracteres não alfabéticos.
 */
void trimStr(char str1[], char str2[]) {
 int len = strlen(str1), i = 0, k = 0;
 if (len > 0) {
 while (i < len) {
 if (isalpha(str1[i])) {
 str2[k++] = str1[i];
 }
 i++;
 }
 str2[k] = '\0';
 }
}
/* void inverterStr(char str1[]) 
 * @param str1 Cadeia de entrada
 * Recebe uma cadeia de caracteres como parâmetro e reverte seu contúdo 
 */
void inverterStr(char str1[]) {
 char aux;
 int len = strlen(str1), k, i = 0, meio;
 if (len > 0) {
 meio = len / 2;
 k = len - 1;
 while (i < meio) {
 aux = str1[k];
 str1[k] = str1[i];
 str1[i] = aux;
 i++;
 k--;
 }
 }
}
int main(int argc, char** argv) {
 char strTeste[38], strTeste1[38];
 char * st;
 strcpy(strTeste, "* >> Inverteu esta buceta 123! << * ");
 printf("\n[%s] \n", strTeste);
 trimStr(strTeste,strTeste1);
 printf("\n[%s] \n",strTeste1);
 inverterStr(strTeste);
 printf("\n[%s] \n", strTeste);
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando