SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: badyalberto en Domingo 29 de Marzo de 2009, 20:06

Título: Substituir cadena
Publicado por: badyalberto en Domingo 29 de Marzo de 2009, 20:06
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
Título: Re: Substituir cadena
Publicado por: m0skit0 en Lunes 30 de Marzo de 2009, 00:49
indice tiene un valor desconocido y se lo asignas a i en la línea 23.
Título: Re: Substituir cadena
Publicado por: badyalberto en Lunes 30 de Marzo de 2009, 08:20
ya, quiero que indice tenga el valor de i.
Título: Re: Substituir cadena
Publicado por: m0skit0 en Lunes 30 de Marzo de 2009, 10:59
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...