GatoBooster

5 decimas

Nov 14th, 2017
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct palabra{
  6.     char palabra[20];
  7.     int largo;
  8. }palabra;
  9. int total = 0;
  10. palabra *crearArreglo(void);
  11. void palabraMasCorta(palabra *);
  12. ////////////////////////////////////////////////////////////////////////
  13. int main (){
  14.    
  15.   palabra *vector;
  16.  
  17.   vector = crearArreglo();
  18.   palabraMasCorta(vector);
  19.  
  20.   return 0;
  21. }
  22. /////////////////////////////////////////////////////////////////////7
  23.  
  24. palabra *crearArreglo(void)
  25. {
  26.    
  27.     FILE *entrada= fopen("palabras.txt","r");
  28.     if(entrada==NULL){
  29.         printf("Archivo de entrada no se pudo abrir\n");
  30.         exit(0);
  31.     }
  32.    
  33.     fscanf(entrada,"%d",&total);
  34.    
  35.     palabra *vectorLocal = (palabra *) malloc(total* sizeof(palabra));  
  36.         if(vectorLocal == NULL){
  37.             fclose(entrada);
  38.         exit(0);
  39.     }
  40.    
  41.     int i;
  42.     for(i=0; i<total; i++){
  43.         fscanf(entrada,"%s",&vectorLocal[i].palabra);
  44.         vectorLocal[i].largo = (int) strlen(vectorLocal[i].palabra);
  45.     }
  46.     fclose(entrada);
  47.    
  48.     return vectorLocal;
  49. }
  50. /////////////////////////////////////////////////////////////////////////7
  51.  
  52.  
  53. void palabraMasCorta(palabra *vector)
  54. {
  55.     int menor = vector[0].largo,i,pos=0;
  56.    
  57.     for(i=1; i<total; i++){
  58.         if(menor > vector[i].largo){
  59.             menor=vector[i].largo;
  60.             pos= i;
  61.         }      
  62.     }
  63.    
  64.     printf("la palabra más corta es: %s",vector[pos].palabra);
  65. }
Advertisement
Add Comment
Please, Sign In to add comment