Advertisement
Guest User

Untitled

a guest
May 28th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.71 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4.  
  5. typedef struct _Node { // ZAMIAST TEGO B DRZEWO
  6.     char kryptonim[128];
  7.     char kontakt[128];
  8.     struct _Node *next;
  9.     } Node;
  10.  
  11.  
  12. // funkcja haszujaca WYWALIC
  13. int Hash(const char *kryptonim, int m) {
  14.     return 0;
  15.     };
  16.  
  17.  
  18. // dodanie pary (kryptonim, kontakt) do tablicy haszujacej
  19. void Add(Node **tab, int m, const char *kryptonim, const char *kontakt) {
  20.     };
  21.  
  22.  
  23. // usuniecie kryptonimu z tablicy haszujacej
  24. void Del(Node **tab, int m, const char *kryptonim) {
  25.     };
  26.    
  27.    
  28. // wyszukanie kryptonimu w tablicy i wpisanie do kontakt kontaktu
  29. // zwraca true w przypadku sukcesu, false gdy nie znaleziono kryptonimu
  30. bool Find(Node **tab, int m, const char *kryptonim, char *kontakt) {
  31.     //if(znaleziono) return true;
  32.     return false;
  33.     }; // ZMIENIC FINDA?
  34.  
  35.  
  36. // main
  37. int main() {
  38.     int count, m, n;
  39.     bool rv;
  40.     char cmd[16], kryptonim[128], kontakt[128], szef[128];
  41.     Node **tab;
  42.  
  43.     scanf("%d", &n);
  44.     scanf("%s", szef);
  45.  
  46.     m = 1;
  47.  
  48.     tab = (Node **)malloc(m * sizeof(Node *));
  49.     for(int i = 0; i < m; i++) tab[i] = NULL;
  50.  
  51.  
  52.     while(scanf("%s", cmd) > 0) {
  53.         if(cmd[0] == '+') {
  54.             scanf("%s%s", kryptonim, kontakt);
  55.             Add(tab, m, kryptonim, kontakt);
  56.         } else if(cmd[0] == '-') {
  57.             scanf("%s", kryptonim);
  58.             Del(tab, m, kryptonim);
  59.         } else if(cmd[0] == '?') {
  60.             scanf("%s", kryptonim);
  61.             rv = Find(tab, m, kryptonim, kontakt);
  62.             count = 0;
  63.             while(rv) {
  64.                 count++;
  65.                 rv = Find(tab, m, kontakt, kryptonim);
  66.                 if(!rv) { strcpy(kryptonim, kontakt); break; };
  67.                 count++;
  68.                 rv = Find(tab, m, kryptonim, kontakt);
  69.                 };
  70.             if(strcmp(kryptonim, szef) == 0) printf("%d\n", count);
  71.             else printf("-1\n");
  72.             };
  73.         };
  74.  
  75.     free(tab);
  76.     return 0;
  77.     };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement