Código de C/Visual C - Invertir una palabra

Invertir una palabragráfica de visualizaciones


C/Visual C

Publicado el 14 de Enero del 2003 por Sebastian
9.135 visualizaciones desde el 14 de Enero del 2003. Una media de 14 por semana
Invierte palabras de una frase

Versión 1

Publicado el 14 de Enero del 2003gráfica de visualizaciones de la versión: Versión 1
9.136 visualizaciones desde el 14 de Enero del 2003. Una media de 14 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/*Id. programa: String 4                                                      */
/*Autor: Nieva, Sebastian                                                     */
/*Fecha de creacion: 19/03/02                                                 */
/*Fecha de ultima modificacion: 27/03/02                                      */
/*Tarea: Invierte palabras de una frase													*/
/*Version: 1.0                                                                */
/*Lenguaje: ANSI C                                                            */
/*Requerimientos: Nada                                                        */
/*Recibe: Nada                                                                */
/*Entrega: Nada                                                               */
 
#include<stdio.h>
#include<conio.h>
 
#define MAX 256
 
void ingreso(char*);
void invertir(char *, char*);
 
void main(void)
{
	char vec[MAX],inversion[MAX];
 
	clrscr();
	printf ("\t\t\t*****************\n");
	printf ("\t\t\t*  EJERCICIO 4  *\n");
	printf ("\t\t\t*****************\n");
	printf ("\t\t      - PANTALLA PRINCIPAL -\n\n");
 
	ingreso(vec);
	invertir(vec, inversion);
 
	printf("FRASE INGRESADA: %s\n", vec);
	printf("FRASE INVERTIDA: %s\n", inversion);
 
 
	printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nVERSION 1.0\nCOPYRIGHT 2002-2010\n");
	printf("PROGRAMA DESARROLLADO POR SEBASTIAN NIEVA \n");
	printf("OPRIMA UNA TECLA PARA TERMINAR........");
	getch();
}
 
void ingreso(char *s)
{
	printf("INGRESE UNA FRASE\n");
	gets(s);
}
 
void invertir(char *s, char *inv)
{
	int strlen(char *);
	void strcpys(char *, char *);
	char *posAux=s; //posicion auxiliar desde donde comienza la copia
	int cant=0,
	longitud=strlen(s);
 
	while(*s!=NULL)
	{
		if(*s==' ') //ascii del blanco
		{
				*s=NULL;
				strcpys((inv+longitud-cant),posAux);
				if(cant>0)//YA SE LEYO UN CARACTER <> " "
						strcpys((inv+longitud-(cant+1))," "); //el espacio
				*s=' '; //para no modificar el origen
				posAux=s+1; //donde comienza la siguiente palabra
		}
		s++;
		cant++;
	}
	strcpys((inv+longitud-cant),posAux);
	*(inv+longitud)=NULL;   //finalizo la cadena invertida
}
 
void strcpys(char *d, char *o)
{
	while(*o!=NULL)
	*d++=*o++;  /*No termina con null porque sino la cadena inversion
					  mostraria solo la primer palabra*/
}
 
int strlen(char *s)
{
	int cant=0;
	while(*s!=NULL)
	{
		cant++;
		s++;
	}
	return cant;
}



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s472