Que tal, a ver si me pueden hechar la mano, respecot al problema que tengo que resolver, y tengo algo hecho, pero me falta saber como copiar, los resultados a otras dos cadenas, el problema es lo siguiente:
Genes Dominantes y Recesivos
Suponga que el patrón genético de cada individuo está codificado como una cadena de letras mayúsculas y minúsculas. Por ejemplo, el patrón genético de una madre podría estar codificado como la cadena JosEFIna y el de un padre como la cadena fiLOMeNo. Cada letra mayúscula representa un gen dominante y cada letra minúscula representa un gen recesivo. Cuando combinamos los patrones genéticos de la madre y del padre para obtener los de sus descendientes (una niña y un niño) ocurre lo siguiente:
El primer gen de la madre se combina con el primer gen del padre para obtener el primer gen de los descendientes y así sucesivamente con el segundo gen, el tercer gen, etc.
Si, al combinarse dos genes, uno es dominante y el otro es recesivo, entonces los dos descendientes adquieren el gen dominante.
En caso contrario, la niña adquiere el gen de la madre y el niño adquiere el gen del padre.
En nuestro ejemplo, el patrón genético de la niña y el niño son JoLEFINa y JiLOMINo respectivamente. (Evidentemente, esto no tiene casi ninguna relación con lo que realmente ocurre.)
Especificación
La entrada consiste de dos cadenas madre y padre (cada una en una línea y en ese orden) cuyas longitudes están entre 1 y 1000. La salida consiste de dos cadenas hija e hijo (cada una en una línea y en ese orden). Cada una de las cadenas corresponde con el código genético de uno de los individuos y todas tendrán la misma longitud.
Ejemplos
ENTRADA: SALIDA: ENTRADA: SALIDA:
JosEFIna JoLEFINa TEre TEAe
fiLOMeNo JiLOMINo JuAn JEAn
#include <stdio.h>
int compara (char s[1000], char t[1000]) /*funcion que compara dos cadenas */
{
int i;
for ( i=0; s
==t && s != '\0'; i++)
return s-t;
}
int longitud (char s[]) /* calacula la longitud de una cadena*/
{
int i=0;
while ( s != '\0')
i++;
return i;
}
/* Pregunta si es MAYUSCULA:
if (('A' <= c) && (c <= 'Z')) */
/* Pregutna si es minuscula:
if (('a' <= c) && (c <= 'z')) */
int main(void)
{
char madre [1000];
char padre [1000];
char hija [1000];
char hijo [1000];
char comparacion [1000];
int longmama, longpapa, contma, contpa, c;
gets (madre);
gets (padre);
longmama = longitud (madre);
longpapa = longitud (padre);
printf("%d\t %d\n", longmama, longpapa); /* prueba*/
compara(madre, padre);
if (madre != padre)
if (("madre">=65) && ("madre"<=90)) /*se supone que pregunta si es
MAYUSCULA EN ASCII */
if (("madre">=97) && ("madre"<=122)) /*minuscula en ASCII*/
if (("padre">=65) && ("padre"<=90))
if (("padre">=97) && ("padre"<=122))
return 0;
}