Advertisement
Guest User

jun_1_2015.c

a guest
Jun 22nd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.40 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. #define MAX 51
  7.  
  8. char **alociraj_nisku(int n){
  9.   char **niska=NULL;
  10.   int i,j;
  11.   niska=(char**)malloc(n*sizeof(char*));
  12.   if(niska==NULL)
  13.     return NULL;
  14.   for(i=0; i<n; i++){
  15.     niska[i]=malloc(MAX*sizeof(char));
  16.     if(niska[i]==NULL){
  17.       for(j=0; j<i; j++){
  18.     free(niska[j]);
  19.       }
  20.       free(niska);
  21.       return NULL;
  22.     }
  23.   }
  24.   return niska;
  25. }
  26.  
  27. char **oslobodi_nisku(char **niska, int n){
  28.   int i;
  29.   for(i=0; i<n; i++){
  30.     free(niska[i]);
  31.   }
  32.   free(niska);
  33.   return NULL;
  34. }
  35.  
  36.  
  37. int main (int argc, char **argv){
  38.  
  39.   FILE *ulaz;
  40.   char **niska=NULL;
  41.   int n;
  42.   int i;
  43.  
  44.   if(argc!=2){
  45.     printf("Ne poziva se tako program.\n");
  46.     exit(EXIT_FAILURE);
  47.   }
  48.  
  49.   ulaz=fopen(argv[1], "r");
  50.   if(ulaz==NULL){
  51.     printf("Greska pri otvaranju datoteke.\n");
  52.     exit(EXIT_FAILURE);
  53.   }
  54.  
  55.   fscanf(ulaz, "%d", &n);
  56.   if(n<=0){
  57.     fprintf(stderr, "Greska, n ne moze biti negativno.\n");
  58.     exit(EXIT_FAILURE);
  59.   }
  60.  
  61.   niska=alociraj_nisku(n);
  62.   if(niska==NULL) {
  63.     printf("Greska pri alokaciji.\n");
  64.     exit(EXIT_FAILURE);
  65.   }
  66.  
  67.   for(i=0; i<n; i++){
  68.     fscanf(ulaz, "%s", niska[i]);
  69.   }
  70.  
  71.   for(i=n-1; i>=0; i--){
  72.     if(isupper(niska[i][0]))
  73.       printf("%s\n", niska[i]);
  74.   }
  75.  
  76.   niska=oslobodi_nisku(niska,n);
  77.   fclose(ulaz);
  78.  
  79.   exit(EXIT_FAILURE);
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement