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 Megallo {
- char nev[60+1];
- struct Megallo *kov;
- } Megallo;
- Megallo *vegere(Megallo *lista, char const *ujnev) {
- Megallo *uj = (Megallo*) malloc(sizeof(Megallo));
- strcpy(uj->nev, ujnev);
- uj->kov = NULL;
- if (lista == NULL) {
- lista = uj;
- } else {
- Megallo *utolso;
- for (utolso = lista; utolso->kov != NULL; utolso = utolso->kov)
- ;
- utolso->kov = uj;
- }
- return lista;
- }
- Megallo *jarat_beolvas(char const *fajlnev) {
- FILE *fp = fopen(fajlnev, "rt");
- if (fp == NULL)
- return NULL;
- char megallo[60+1];
- Megallo *jarat = NULL;
- while (fscanf(fp, " %[^\n]", megallo) != EOF)
- jarat = vegere(jarat, megallo);
- fclose(fp);
- return jarat;
- }
- void felszabadit(Megallo *lista) {
- while (lista != NULL) {
- Megallo *kov = lista->kov;
- free(lista);
- lista = kov;
- }
- }
- char const *hol_van_kozos(Megallo *j1, Megallo *j2) {
- for (Megallo *it1 = j1; it1 != NULL; it1 = it1->kov)
- for (Megallo *it2 = j2; it2 != NULL; it2 = it2->kov)
- if (strcmp(it1->nev, it2->nev) == 0)
- return it1->nev;
- return NULL;
- }
- int main(void) {
- Megallo *j1, *j2;
- j1 = jarat_beolvas("7E.txt");
- j2 = jarat_beolvas("M3.txt");
- if (j1 == NULL || j2 == NULL) {
- printf("Nem sikerült beolvasni valamelyik járatot\n");
- } else {
- char const *atszallas = hol_van_kozos(j1, j2);
- if (atszallas == NULL)
- printf("Nincs közös megálló\n");
- else
- printf("A közös megálló: %s\n", atszallas);
- }
- felszabadit(j1);
- felszabadit(j2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement