como pasar variable de una a otra desde una funcion

Iniciado por geshiro, 21 Mayo 2016, 19:42 PM

0 Miembros y 1 Visitante están viendo este tema.

AlbertoBSD

#10
Creo que se refiere a funciones de librerias...

void myStrcat(char *str1,char *str2){
snprintf(str3,20,"%s%s",str1,str2);
}


el anterior es solo usando snprintf.

void myStrcat(){
       int i =0, j=0;
while(str1[i] != '\0'){
            str3[i] = str1[i];
            i++;
       }
      while(str2[j] != '\0'){  
          str3[i +j] = str1[j];
           j++;
       }
}



str3 debe de tener al menos el doble de tamaño o la suma de str1 y str2

sele puede agregar otra condicion de paro a cada while mientras i < 20  al primero y respecto a j en el 2do
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

geshiro


geshiro

me refiero que debo hacer una funcion recursiva sin usar funciones de libreria hacer la misma funcion que hace strcat pero recursiva

AlbertoBSD

#13
Si ya tienes las variables globales no tienes que usar argumentos.

Si quieres usar argumentos.

char *myStrcat(char *s1,char *s2, char *s3){
       int i =0, j=0;
while(s1[i] != '\0'){
            s3[i] = s1[i];
            i++;
       }
      while(s2[j] != '\0'){  
          s3[i +j] = s2[j];
           j++;
       }
}


Es lo mismo que

char *myStrcat(char s1[],char s2[], char s3[]){
       int i =0, j=0;
while(s1[i] != '\0'){
            s3[i] = s1[i];
            i++;
       }
      while(s2[j] != '\0'){  
          s3[i +j] = s2[j];
           j++;
       }
}


Recursiva.... La verdad no se que maestro te pide a hacer eso.

Voy a pensar en una forma eficiente de hacer algo recursivo para hacer strcat. Luego te contesto como podria ser recursiva
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

geshiro

#14
es que si esta bien asi solo que los while deben ser sustitudios por el if else D: no se porque volver a inventar la funcion ya hecha

Código (cpp) [Seleccionar]

     char *myStrcat(char s1[],char s2[], char s3[]){
           int i =0, j=0;
    while(s1[i] != '\0'){
                s3[i] = s1[i];
                i++;
           }
          while(s2[j] != '\0'){  
              s3[i +j] = s2[j];
               j++;
           }
   }

engel lex

No dijiste sin punteros? Ahi estas usando 4 solo en la declaración xD
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

geshiro

en mi codigo uso punteros solo llamo la variable