Advertisement
icatalin

lab 04.01.2018

Jan 4th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.61 KB | None | 0 0
  1. Scrieti o metoda care sa printeze ultimele k linii din fisier.
  2.  
  3. Sau de la randul k incolo.
  4.  
  5. se citesc din fisier cuvinte separate prin spatiu
  6. se citesc 2 cuvinte de la tastatura
  7. sa sa gaseasca cea mai scurta distanta dintre cele 2 cuvinte din fisier (distanta reprezinta cuvintele dintre ele)
  8.  
  9.  
  10. 1.
  11.  
  12. #include <stdio.h>
  13. #include <stdlib.h>
  14.  
  15. int main()
  16. {
  17.     FILE *file;
  18.    
  19.     file = fopen("fisier.txt","r");
  20.  
  21.    
  22.     char c[256];
  23.     int k,poz = 0;
  24.  
  25.  
  26.     printf("Introduceti k.\n");
  27.     scanf("%d",&k);
  28.  
  29.  
  30.     while(fgets(c,256,file) != NULL)
  31.     {
  32.         poz++;
  33.  
  34.         if (poz>=k)
  35.         printf("%s",c);
  36.     }
  37.  
  38.     return 0;
  39. }
  40.  
  41.  
  42. 2.
  43. #include <stdio.h>
  44. #include <stdlib.h>
  45. #include <string.h>
  46.  
  47. int main()
  48. {
  49.     FILE *file;
  50.  
  51.     file = fopen("fisier.txt","r");
  52.  
  53.  
  54.     char c[256],cuv1[20],cuv2[20];
  55.     char *tok;
  56.     int k,poz = 0, distmin = 10000, ind1, ind2, dif;
  57.  
  58.     fgets(c,256,file);
  59.  
  60.     printf("Cititi cele doua cuvinte intre care sa se calculeze dinstanta minima.\n");
  61.     scanf("%s",cuv1);
  62.     scanf("%s",cuv2);
  63.     printf("\n");
  64.  
  65.     tok = strtok(c," ");
  66.  
  67.     while (tok != NULL)
  68.     {
  69.         printf("%s \n",tok);
  70.  
  71.         poz ++;
  72.  
  73.         if (strcmp(tok,cuv1) == 0)
  74.             ind1 = poz;
  75.  
  76.         if (strcmp(tok,cuv2) == 0)
  77.             ind2 = poz;
  78.  
  79.             if (ind2 >= ind1)
  80.                 {
  81.                     dif = ind2-ind1;
  82.                     if (dif < distmin)
  83.                     distmin = dif;
  84.                 }
  85.  
  86.         tok = strtok(NULL," ");
  87.     }
  88.  
  89.     printf("Disntanta minima este %d",distmin-1);
  90.  
  91.     return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement