Foros del Web » Programación para mayores de 30 ;) » Programación General »

cadena con simbolo $

Estas en el tema de cadena con simbolo $ en el foro de Programación General en Foros del Web. Hola. Tengo el siguiente problema: dada una cadena, ver si contiene el simbolo $, devolverla sin este simbolo, contar el numero de veces que lo ...
  #1 (permalink)  
Antiguo 01/12/2003, 06:52
 
Fecha de Ingreso: octubre-2003
Mensajes: 280
Antigüedad: 20 años, 6 meses
Puntos: 1
cadena con simbolo $

Hola. Tengo el siguiente problema: dada una cadena, ver si contiene el simbolo $, devolverla sin este simbolo, contar el numero de veces que lo tiene y especificar las distintas posiciones. Os mando el codigo a ver si me lo solucionais:

#include<stdio.h>
#include<string.h>

int simbolo(char cad1[],char cad2[],int vector[]); //Devolvemos un entero y los dos parametros

void main(void)
{
char cadena1[25],cadena2[25];
int contador,i,vector[25]; //El vector guardará las distintas posiciones

printf("\n Introzuca la cadena 1 : ");gets(cadena1);

contador=simbolo(cadena1,cadena2,vector);

printf("\n ------------------------------------------");
printf("\n La cadena original es :");puts(cadena1);
printf("\n La cadena (sin el simbolo $) es : ");puts(cadena2);
if(contador!=0){
printf("\n El simbolo $ se ha encontrado %d veces.",contador);
printf("\n En las posiciones : ");
for(i=0;i<strlen(cadena1);i++){
printf("\n %d.",vector[i]);
}}
else printf("\n No se ha encontrado dicho simbolo.");
printf("\n");
}

int simbolo(char cad1[],char cad2[],int vector[])
{
int longitud=strlen(cad1); //Longitud de la cadena original
int i; //Para recorrer la primera cadena
int j=0; //Para recorrer la segunda cadena
int repite=0; //Numero de veces que se repite

for(i=0;i<longitud;i++){
if(cad1[i]!='$'){ //Mientras no encontremos el simbolo, copiamos en la segunda cadena
cad2[j]=cad1[i];
j++;
}
else {
vector[i]=i;
repite++;} //En vector metemos las distintas posiciones

cad2[j]='\0'; //Para que sea una cadena

return(repite);
}}


Gracias.
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 23:34.