Guest User

Untitled

a guest
May 25th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.12 KB | None | 0 0
  1. #include<stdio.h>
  2. #define N 30
  3. void leer_palabra(char &c, char p[]);
  4. bool anterior_palabra(char p[]);
  5. void saltar_blancos(char &c);
  6. void leerp(char &c,char p[]);
  7. int main()
  8. {
  9.     int n_p=0;  //declaramos vble para el numero de palabras
  10.     char p[N+1];    //vble de caracteres +1 porque asi se cumplen los 30 espacios sino no
  11.     char c;     //para guardar los caracteres de las palabras
  12.     printf("\n\t***Introduce una frase acabada en '.'***\n\n");
  13.     scanf("%c",&c); //escaneamos los caracteres de la frase
  14.     leer_palabra(c,p);      //llamamos a la accion de leer la palabra
  15.     while (!anterior_palabra(p))    //cuando sea diferente a la condicion bool
  16.     {
  17.         n_p++;          //sumamos una al contador
  18.         leer_palabra(c,p);  //volvemos a leer la siguiente palabra
  19.     }
  20.     printf("\n\tEl numero de palabras introducidas es:\t %d\n\n",n_p);
  21. }//cierro main
  22. void leer_palabra(char &c, char p[])    //generamos la accion leer palabra
  23. {
  24.     saltar_blancos(c);//le decimos que haga referencia a la funcion de saltar blancos
  25.     leerp(c,p);   //y la de leer palabras
  26. }
  27. bool anterior_palabra(char p[])//generamos la funcion de anterior palabra
  28. {
  29.     return(p[0]=='\0'); // le decimos que devuelva '\0' = caracter final de cadena                      para poder inicializar una nueva para otra palabra
  30. }
  31. void saltar_blancos(char &c)    //generamos la accion de saltar espacios
  32. {
  33.     while(c==' ')       //cuando el caracter sea un espacio
  34.     {
  35.         scanf("%c",&c); //lo salta y pide uno nuevo
  36.     }
  37. }
  38. void leerp(char &c,char p[])    //generamos la accion de leer palabras
  39. {
  40.     int i=0;
  41.     while(c!=' ' && c!='.') //cuando c no es ni espacio ni .   
  42.     {
  43.         p[i]=c;     //le decimos que guarde los caracteres en la cadena p
  44.         i++;        //por cada caracter suma una posicion
  45.         scanf("%c",&c); //lee un nuevo caracter
  46.     }  
  47.     p[i]='\0';      //cuando termine finalice la cadena
  48. }
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55. //codigo para el capicua que nose si esta bien
  56.  
  57. int j,k,x,y,cap=0;
  58. for(j=0;j<i;j++)    //condicion para que empiece al inicio de palabra
  59.     {
  60.         p[j]=x;
  61.     }  
  62.     for(k=i;k>=i;k--)   //condicion para que salga por el final
  63.     {
  64.         p[i]=y;
  65.     }
  66.     if(x==y)        //si al inicio y final van siendo iguales
  67.     {
  68.         cap++; //sume uno al contador
  69.     }
  70.     printf("%i",cap);
Add Comment
Please, Sign In to add comment