Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.76 KB | None | 0 0
  1.  #include<stdio.h>
  2. #include<string.h>
  3. #pragma warning (disable : 4996)
  4. int is_letter(char pom)
  5. {//funkcija koja provjerava da li je dati string sacinjen os slova ili ima u sebi i broj
  6.     if ((pom >= 'a' && pom <= 'z') || (pom >= 'A' && pom <= 'Z'))
  7.         return 1;
  8.     return 0;
  9. }
  10.  
  11. int main(int argc, char **argv)
  12. {
  13.     FILE *a_fp;//pokazivac na dadoteku a
  14.     FILE *b_fp;//pokazivac na dadoteku b
  15.  
  16.     if (argc <= 2)
  17.         return printf("Greska. Argumenti nisu pravilno navedeni.\n"), getchar(), getchar(), 1;
  18.  
  19.     if ((a_fp = fopen(argv[1], "r")) == NULL || (b_fp = fopen(argv[2], "w")) == NULL)
  20.         return printf("Greska.\n"), 1;
  21.  
  22.     char pom[200];
  23.     char najduza_rijec[200] = { '\0' };//ovdje cemo cuvati najduzu rijec
  24.     char rijec[200] = { '\0' };//trenutna rijec
  25.     int p = 0;
  26.     int i;
  27.  
  28.     while (fgets(pom, 200, a_fp) != NULL)//pom je pomocna u koju se smijesta izvuceni string
  29.     {
  30.         i = 0;
  31.         while (pom[i])//provjeravamo slovo po slovo te uzete rijecim i to dok ne dodje do kraja
  32.         {
  33.             while (is_letter(pom[i]))//provjeravamo da li je slovo ili broj
  34.             {
  35.                 rijec[p++] = pom[i++];//ako jeste u prvu rijec tj u njeno prvo slovo upisujemo to slovo
  36.                                       //i uvecavamo i p i i za 1m i to radimo sve dok rijec ne stigne do kraja, i sad imamo p-broj rijeci
  37.             }
  38.             if (strlen(rijec))//gledamo da li je ta rijec najduza, tj da li je rijec prvo
  39.             {
  40.                 rijec[p] = '\0';//na kraj te rijeci stavljamo null karakter kao kraj stringa
  41.                 fputs(rijec, b_fp);//stavlja rijec u folder b
  42.                 fputc('\n', b_fp);//prebacuje pok u novi red
  43.  
  44.                 if (strlen(rijec) > strlen(najduza_rijec))
  45.                     strcpy(najduza_rijec, rijec);
  46.             }
  47.             rijec[p = 0] = '\0';
  48.             i++;
  49.         }
  50.     }
  51.     fclose(a_fp);
  52.     fclose(b_fp);
  53.     printf("Najduza rijec je: %s\n", najduza_rijec);
  54.     getchar();
  55.     getchar();
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement