Foros del Web » Programación para mayores de 30 ;) » C/C++ »

como copiar parte de una cadena a otra

Estas en el tema de como copiar parte de una cadena a otra en el foro de C/C++ en Foros del Web. Hola a todos espero me puedan ayudar bueno mi problema es el siguiente quiero analizar una expresion algebraica supongamos que el usuario ingresa "-12x" y ...
  #1 (permalink)  
Antiguo 14/03/2011, 19:09
 
Fecha de Ingreso: marzo-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
como copiar parte de una cadena a otra

Hola a todos espero me puedan ayudar bueno mi problema es el siguiente quiero analizar una expresion algebraica supongamos que el usuario ingresa "-12x" y lo que quiero es obtener el coeficiente y el signo alguna idea??? Lo que estoy haciendo es algo asi

Código:
char polinomio[]="";
scanf("%s",polinomio);
y asi es como obtengo la expresion pero ahora como guardo el "-12" en un short??

Estoy utilizando c, apenas estoy aprendiendo alguien que pueda orientarme??
gracias de antemano.
Saluditos. :)
  #2 (permalink)  
Antiguo 15/03/2011, 07:13
 
Fecha de Ingreso: febrero-2011
Ubicación: Paraguay
Mensajes: 59
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: como copiar parte de una cadena a otra

Tienes que recorrer la cadena que ingresaste hasta que encuentras la variable "x". Para el primer símbolo de la cadena si es un - o + entonces lo guardas en una variable char que se puede llamar signo, y el número haces otra cadena y ya..
  #3 (permalink)  
Antiguo 15/03/2011, 08:08
 
Fecha de Ingreso: marzo-2011
Mensajes: 54
Antigüedad: 13 años, 1 mes
Puntos: 11
Respuesta: como copiar parte de una cadena a otra

En C++ se que se pueden usar las funciones de la libreria string.h, pero no se si son compatibles en C
  #4 (permalink)  
Antiguo 15/03/2011, 10:53
 
Fecha de Ingreso: junio-2005
Mensajes: 93
Antigüedad: 18 años, 10 meses
Puntos: 9
Respuesta: como copiar parte de una cadena a otra

int num1,num2;
char op;

scanf("%d%c%d",&num2, &op, &num2);

solo practico para cuando solo sea una operación con una sola operación

si lo que quieres es poder hacer varias operaciones.

puedes utilizar las funciones tales como strtok, strstr, strchr

para mayor referencia de estas funciones

http://www.cplusplus.com/reference/clibrary/cstring/
  #5 (permalink)  
Antiguo 15/03/2011, 13:10
Avatar de sephirot47  
Fecha de Ingreso: marzo-2011
Ubicación: BCN
Mensajes: 54
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: como copiar parte de una cadena a otra

Debes hacer:

short tuVariable = atoi ( tuString ); // atoi es una funcion de stdlib.h
  #6 (permalink)  
Antiguo 15/03/2011, 19:03
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: como copiar parte de una cadena a otra

Tienes que ir recorriendo tu cadena e ir identificando los elementos que encuentras, por ejemplo:
12x+3x

recorres tu cadena, y como lo primero que encuentras es un numero (el 1), entonces sigues buscando hasta encontrar un operador, el final de cadena o la variable x, el '1' lo guardas en otro arreglo provisional. asi sigues recorriendo hasta encontrar a la 'x', entonces en tu arreglo provicional tienes el 12 ya guardado, y como encontraste una x sabes que el 12 es un coeficiente, si huvieras encontrado un operador sabrias que es un termino independiente.
  #7 (permalink)  
Antiguo 16/03/2011, 14:56
Avatar de moscoquera  
Fecha de Ingreso: julio-2009
Mensajes: 51
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: como copiar parte de una cadena a otra

Código C:
Ver original
  1. char tmp[5],ind;
  2. ind=polinomio[0];
  3. int i=0,j=0;
  4. while (ind!='\0'){
  5. if (esentero(ind)){
  6. tmp[i]=ind;
  7. }
  8. j++;
  9. ind=polinomio[j];
  10. }
  11.  
  12. int esentero(char dato){
  13.      if (dato=='1' || dato=='2' ||dato=='3' ||dato=='4' ||dato=='5' ||dato=='6' ||dato=='7' ||dato=='8' ||dato=='9' ||dato=='0'){return 1;}return 0;
  14. }

no me comprometo a que funcione, pero debería hacerlo o darte nociones de que hay que hacer
  #8 (permalink)  
Antiguo 17/03/2011, 01:38
 
Fecha de Ingreso: junio-2005
Mensajes: 93
Antigüedad: 18 años, 10 meses
Puntos: 9
Respuesta: como copiar parte de una cadena a otra

bien cosme1, ya se han hecho varias sugerencias, ya has hecho algo de codigo?, compartelo con el foro

Etiquetas: cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:14.