Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- typedef struct _Node { // ZAMIAST TEGO B DRZEWO
- char kryptonim[128];
- char kontakt[128];
- struct _Node *next;
- } Node;
- // funkcja haszujaca WYWALIC
- int Hash(const char *kryptonim, int m) {
- return 0;
- };
- // dodanie pary (kryptonim, kontakt) do tablicy haszujacej
- void Add(Node **tab, int m, const char *kryptonim, const char *kontakt) {
- };
- // usuniecie kryptonimu z tablicy haszujacej
- void Del(Node **tab, int m, const char *kryptonim) {
- };
- // wyszukanie kryptonimu w tablicy i wpisanie do kontakt kontaktu
- // zwraca true w przypadku sukcesu, false gdy nie znaleziono kryptonimu
- bool Find(Node **tab, int m, const char *kryptonim, char *kontakt) {
- //if(znaleziono) return true;
- return false;
- }; // ZMIENIC FINDA?
- // main
- int main() {
- int count, m, n;
- bool rv;
- char cmd[16], kryptonim[128], kontakt[128], szef[128];
- Node **tab;
- scanf("%d", &n);
- scanf("%s", szef);
- m = 1;
- tab = (Node **)malloc(m * sizeof(Node *));
- for(int i = 0; i < m; i++) tab[i] = NULL;
- while(scanf("%s", cmd) > 0) {
- if(cmd[0] == '+') {
- scanf("%s%s", kryptonim, kontakt);
- Add(tab, m, kryptonim, kontakt);
- } else if(cmd[0] == '-') {
- scanf("%s", kryptonim);
- Del(tab, m, kryptonim);
- } else if(cmd[0] == '?') {
- scanf("%s", kryptonim);
- rv = Find(tab, m, kryptonim, kontakt);
- count = 0;
- while(rv) {
- count++;
- rv = Find(tab, m, kontakt, kryptonim);
- if(!rv) { strcpy(kryptonim, kontakt); break; };
- count++;
- rv = Find(tab, m, kryptonim, kontakt);
- };
- if(strcmp(kryptonim, szef) == 0) printf("%d\n", count);
- else printf("-1\n");
- };
- };
- free(tab);
- return 0;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement