elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda para resolver este problema de C en: 30 Enero 2017, 03:22 am
Un amigo me ha retado a intentar programar esto en C, soy principiante y por mas que he intentado no lo he logrado.

Le dije que me rendía y que me dijera como hacerlo pero se nego jajaja.

Entrada

Un texto formado por caracteres alfabéticos y blancos. Cada palabra del texto está formada exclusivamente por caracteres alfabéticos y mide entre 1 y 10 caracteres de longitud.

Salida

La cantidad de veces que aparece la palabra "sak" o algo parecido: cualquier cadena de mayúsculas o minúsculas que empiece con una o más "s", siga con una o más "a" y termine con una o más "k".




Llevo esto hasta ahora.

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char texto[300];
    int longi, x=0;
    int saltos=0;

    gets(texto);

    longi = strlen (texto);

    for(x=0; x<longi; x++){
        if(texto[x]==' ');
        else{
            if(texto[x]=='s'||texto[x]=='S'){
                while(texto[x]=='s'||texto[x]=='S'){
                    x++;
                }
                if(texto[x]=='a'||texto[x]=='A'){
                    while(texto[x]=='a'||texto[x]=='A'){
                        x++;
                    }
                    if(texto[x]=='k'||texto[x]=='K'){
                        while(texto[x]=='k'||texto[x]=='K'){
                            x++;
                        }
                        if(texto[x]==' '||texto[x]=='\0'){
                            saltos++;
                        }
                    }
                }
            }
        }
    }

    printf("%d", saltos);
}

Casi funciona bien. El problema es que cuenta palabras como "asak" o "tarsak" por que tiene las combinaciones de s, a y k.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines