Programación General > C/C++
Como hago esto soy novato en C
(1/1)
Programming C++:
Como puedo ordenar esta serie de caracteres M,J,R,A,S,P y quede de esta manera P,S,A,R,J,M . he usado una funcion para el tamaño del vector.
--- Código: C --- #include <stdio.h>void cambio (int v);main(){int v2:clrscr();printf("Cuantos elementos tendra el vector");scanf("%d", &v2);cambio (v2);}void cambio (int v){
he realizado otro pero es de tipo ordenacion alfabeticamente pero no se si funcione en este la verdad estoy totalmente enrredado alguna ayuda se le agradeceria demasiado.
SkullFlower:
Hola,
bueno según lo que te entendí es que quieres que se guarde la cadena al revés en otra?
sí es así entonces esto fue lo que hice yo (a ver si te sirve):
--- Código: C ---#include<stdio.h>int main(){ char s1[] = "MJRASP"; int i,j; char s2[sizeof(s1)]; j = sizeof(s1)-2; i = 0; for(j;j>=0;j--, i++){ s2[i]=s1[j]; if(j==0){ s2[i+1]=''; } } printf("%sn", s2); return 0;}
Amilius:
Si los caracteres están en una cadena terminada en carácter 0:
--- Código: C++ --- #include <stdio.h> char* reversaDeCadena(char* cadena){ // Necesitamos un char temporal, un puntero al inicio y otro al final de la cadena char temp, *inicio, *final; // Asignar a inicio cadena, asignar a final inicio. final = inicio = cadena; // Buscamos el final de la cadena: el char 0 while (*final++); // Necesitamos apuntar al último char no al siguiente después del 0 final -= 2; // Intercambiamos hasta llegar a la mitad, el resto ya estará en reversa while (inicio < final) { temp = *inicio; // Apuntar al siguiente desde el inicio, después de asignar el apuntado por final al apuntado por inicio. *inicio++ = *final; // Apuntar al anterior desde el final, después de asignar al apuntado por final. *final-- = temp; } return cadena;} int main(){ char s[] = "MJRASP"; printf("%sn", reversaDeCadena(s)); return 0;}
O también puedes usar una de las funciones definidas en string.h:
--- Código: C++ --- #include <stdio.h>#include <string.h>int main(){ char s[] = "MJRASP"; printf("%sn", _strrev(s)); return 0;}
Programming C++:
el ultimo que me dieron pues es genial :) se nota que ha reducido lineas de codigos con solo llamar la libreria string.h.
Muchas gracias :D :) seguire practicando C/C++
Navegación
Ir a la versión completa