Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <ctype.h>
- #include <string.h>
- typedef struct infoOracion{ //Se declaran los prototipos
- char oracionOriginal[1001];
- char oracionMinuscula[1001];
- int cantCaracteres;
- int esPangrama;
- } InfoOracion;
- int main() { //Se declara la funcion principal
- char abecedario[26] = "qwertyuiopasdfghjklzxcvbnm"; //Define el abecedario con el que debe comprar
- int cantidad, i, j, k=0, contador = 0, menorpangrama=1000;
- InfoOracion Oracion [100];
- scanf("%d", &cantidad); //Se ingresa la cantidad de oraciones a ingresas
- getchar();
- for (i=0; i < cantidad ; i++){
- fgets(Oracion[i].oracionOriginal, 1001, stdin);
- Oracion[i].cantCaracteres = strlen(Oracion[i].oracionOriginal); //Obtiene el largo de la oracion
- }
- for(i=0 ; i < cantidad ; i++){
- for(j=0 ; j < Oracion[i].cantCaracteres; j++){
- if (isalpha(Oracion[i].oracionOriginal[j])){
- Oracion[i].oracionMinuscula[k] = tolower(Oracion[i].oracionOriginal[j]);//Si el caracter que evalua es una letra, entonces dicha letra la convierte en minuscula
- k++;
- }
- }
- Oracion[i].cantCaracteres = strlen(Oracion[i].oracionMinuscula); //Se obtiene el largo de la oracion compuesta solo de letras, sin otro tipo de caracteres
- k=0;
- }
- for (i=0 ; i < cantidad ; i++){
- Oracion[i].esPangrama = 1; //Se asume que la oracion es pangrama
- for (j=0 ; j < 25 ; j++){
- if((strchr(Oracion[i].oracionMinuscula , abecedario[j]) == NULL) || (Oracion[i].cantCaracteres<26)){ //Si una letra del abecedario no esta en la oracion, entonces esta no es pangrama
- Oracion[i].esPangrama = 0;
- }
- }
- if (Oracion[i].esPangrama){ //Si la oracion es pangrama
- if(Oracion[i].cantCaracteres < menorpangrama){
- menorpangrama = Oracion[i].cantCaracteres;//Se almacena el valor de la cantidad de letras del pangrama mas pequeño
- }
- contador++;
- }
- }
- if (contador > 0){ //Si el contador es mayor a cero, quiere decir que al menos encontro 1 pangrama
- printf("====================================\n");
- printf("PANGRAMAS ENCONTRADOS EN EL CONJUNTO\n");
- printf("====================================\n");
- for(i=0 ; i < cantidad ; i++){
- if(Oracion[i].esPangrama)
- printf("%s", Oracion[i].oracionOriginal);//Imprime los pangramas encontrados
- }
- printf("\n============================================\n");
- printf("MEJORES PANGRAMAS ENCONTRADOS EN EL CONJUNTO\n");
- printf("CON %d LETRAS EN EL ALFABETO INGLES\n", menorpangrama);
- printf("============================================\n");
- for(i=0 ; i < cantidad ; i++){
- if ((Oracion[i].esPangrama) && (Oracion[i].cantCaracteres == menorpangrama)) //
- printf("%s", Oracion[i].oracionOriginal);//Imprime el o los pangramas con la menor cantidad de letras
- }
- }else{ //De lo contrario el diego es homosexual
- printf("NO HAY PANGRAMAS EN ESTE CONJUNTO !");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement