• Lunes 29 de Abril de 2024, 05:12

Autor Tema:  Substituir cadena  (Leído 995 veces)

badyalberto

  • Miembro activo
  • **
  • Mensajes: 77
    • Ver Perfil
Substituir cadena
« en: Domingo 29 de Marzo de 2009, 20:06 »
0
Código: C++
  1.  
  2. #include<stdio.h>
  3. #include<string.h>
  4.  
  5. int remplazar(char frase[],char sub[]);
  6.  
  7. int main()
  8. {
  9.     char frase[100];
  10.     char sub[100];
  11.     char nou[100];
  12.     int indice,i,longnou=0;
  13.    
  14.     printf("Introdueix una frase: n");
  15.     gets(frase);
  16.     printf("Que vols substituir: n");
  17.     gets(sub);
  18.     printf("Que hi vols posar en el seu lloc: n");
  19.     gets(nou);
  20.     i=remplazar(frase,sub);
  21.     longnou=strlen(nou);
  22.     printf("%d",i);
  23.     for (i=indice; i<indice+longnou;i++)
  24.         frase[i]=nou[i-indice];
  25.     printf("Resultado: %s n",frase);
  26. getchar();
  27. getchar();
  28. }
  29. int remplazar(char frase[],char sub[])
  30. {
  31.     int longfrase=0,i,j=0,longsub=0;
  32.    
  33.     longfrase=strlen(frase);
  34.     longsub=strlen(sub);
  35.    
  36.     for (i=0;i<longfrase;i++)
  37.     {
  38.         if (frase[i]==sub[0])
  39.         {
  40.             for (j=0;j<longsub;j++)
  41.             {
  42.                 if(frase[i+j]!=sub[j])
  43.                 {
  44.                      break;
  45.                 }
  46.                 return i;
  47.             }
  48.         }
  49.     }
  50. }
  51.  
  52.  

No entiendo pq me sustuye la posicion numero 9, ponga la letra que ponga :S

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Substituir cadena
« Respuesta #1 en: Lunes 30 de Marzo de 2009, 00:49 »
0
indice tiene un valor desconocido y se lo asignas a i en la línea 23.

badyalberto

  • Miembro activo
  • **
  • Mensajes: 77
    • Ver Perfil
Re: Substituir cadena
« Respuesta #2 en: Lunes 30 de Marzo de 2009, 08:20 »
0
ya, quiero que indice tenga el valor de i.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Substituir cadena
« Respuesta #3 en: Lunes 30 de Marzo de 2009, 10:59 »
0
Cita de: "badyalberto"
for (i=indice; i<indice+longnou;i++)
Cita de: "badyalberto"
ya, quiero que indice tenga el valor de i.
Será más bien que i tiene el valor de indice, nen...

Para el caso de igual, nunca dices antes qué valor tienen ni i ni indice, así que ya me dirás cómo pretendes controlar tu programa sin saber qué valores andan rulando por ahí.

Mi consejo es que cojas un buen libro y estudies un poco...