Ostatnie wpisy

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_SLOWO_LEN 128
struct lista {
  char slowo[MAX_SLOWO_LEN];
  struct lista *tlumaczenie, *next;
};

typedef struct lista l;
l *lista_pl, *lista_en; /* dwa wskazniki poczatkowe list */

void dodaj_tlumaczenie(char *slowo_pl, char *slowo_en) {
  l *ostatni_pl, *ostatni_en; /* to wskazniki na nowo utworzone elementy/slowa w obu listach */
  if(!lista_pl) { /* sprawdzaie czy lista_pl istnieje, jesli nie to tworzy nowy element... */
    lista_pl = (l*) malloc(sizeof(l));
    lista_pl->next = NULL;
    ostatni_pl = lista_pl;
  } else { /* ... w innym przypadku tworzy nowy element na koncu */ 
    while(ostatni_pl->next) /* przewijanie listy do konca (zamiast przewijac mozesz odrazu wstawic na dobre miejsce - nie trzeba by bylo potem sortowac) */
      ostatni_pl = ostatni_pl->next;
    ostatni_pl->next = (l*) malloc(sizeof(l));
    ostatni_pl = ostatni_pl->next;
    ostatni_pl->next = NULL;
  }
  
  if(!lista_en) {
    lista_en = (l*) malloc(sizeof(l));
    lista_en->next = NULL;
    ostatni_en = lista_en;
  } else {
    while(ostatni_pl->next)
      ostatni_en = ostatni_en->next;
    ostatni_en->next = (l*) malloc(sizeof(l));
    ostatni_en = ostatni_en->next;
    ostatni_en->next = NULL;
  }
  
  strncpy(ostatni_pl->slowo, slowo_pl, MAX_SLOWO_LEN); /* kopiowanie slowa podanego funcji do listy */
  strncpy(ostatni_en->slowo, slowo_en, MAX_SLOWO_LEN); /* zostanie skopiowne max MAX_SLOWO_LEN znakow */
  
  ostatni_pl->tlumaczenie = ostatni_en; /* 'przypiecie' tlumaczen do siebie */
  ostatni_en->tlumaczenie = ostatni_pl;
}

void wyswietl_tlumaczenia(l* lista) {
  while(lista) {
    printf("%s\t : %s\n", lista->slowo, lista->tlumaczenie->slowo);
    lista = lista->next;
  }
}

int main() {
  lista_pl = lista_en = NULL;
  
  dodaj_tlumaczenie("leniwy", "idle");
  dodaj_tlumaczenie("kod", "code");
  dodaj_tlumaczenie("co", "wut");
  wyswietl_tlumaczenia(lista_pl);
  wyswietl_tlumaczenia(lista_en);
  
  return 0;
}
		
  1. Nie posiadasz obsługi JavaScript. Aby potwierdzić, że nie jesteś botem, wpisz tutaj wartość VHAOQ
4programmers.net