Advertisement
JStefan

[Kolokviumska] Najdolg red

Dec 24th, 2016
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.22 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. int proveri_red(char rec[101]) {
  7.     int i = 0, digits = 0, ok = 0;
  8.     while(rec[i] != 0) {
  9.         //printf("%d", digits);
  10.         if(digits > 1) {ok = 1; break;}
  11.         if(isdigit(rec[i])) digits++;
  12.         ++i;
  13.     }
  14.     return ok;
  15. }
  16.  
  17. int main()
  18. {
  19.     FILE *vlez;
  20.     char najdolgRed[101];
  21.  
  22.     if((vlez = fopen("dat.txt", "r")) == NULL) {
  23.         printf("Datotekata nemoze da se otvori");
  24.     }
  25.  
  26.     char rec[101];
  27.  
  28.     int dol = 0;
  29.     char temp[101];
  30.     while((fgets(rec, 100, vlez)) != NULL) {
  31.         puts(rec);
  32.         if(proveri_red(rec)) {
  33.             int i = 0, j = strlen(rec)-1;
  34.             while(rec[i] != 0) {
  35.                 if(isdigit(rec[i])) break;
  36.                 i++;
  37.             }
  38.             while(rec[j] != 0) {
  39.                 if(isdigit(rec[j])) break;
  40.                 j--;
  41.             }
  42.             strncpy(temp, rec + i, j-i+1);
  43.             temp[j-i+1] = 0;
  44.             if(strlen(temp) >= dol) {
  45.                 dol = strlen(temp);
  46.                 strcpy(najdolgRed, temp);
  47.                 najdolgRed[j-i+1] = 0;
  48.             }
  49.         }
  50.     }
  51.  
  52.     puts(najdolgRed);
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement