#include <stdio.h>
#include <stdlib.h>
typedef struct Baza
{
int liczba;
struct Baza *next;
}el;
typedef struct Baza2
{
int liczba_mod;
struct Baza2 *n;
}el2;
el *head = NULL;
el2 *pocz = NULL;
void dodaj( el*&head,int x )
{
el *tmp = (el *)malloc(sizeof(el));
tmp->liczba = x;
tmp->next=head;
head = tmp;
}
void edytuj(el2**pocz)
{
el *tmp = head;
while( tmp != NULL)
{
el2 *wsk = (el2 *)malloc(sizeof(el2));
if( (tmp->liczba)%3==0 )
{
wsk->liczba_mod = tmp->liczba;
wsk->n = *pocz;
*pocz = wsk;
}
tmp=tmp->next;
}
}
void wypisz(el2 *adres_pocz)
{
el2 *wsk = adres_pocz;
while( wsk != NULL)
{
printf(" %d ",wsk->liczba_mod);
wsk=wsk->n;
}
}
int main()
{
int i;
for(i=1;i<=10;i++)
dodaj(head,i);
edytuj(&pocz);
wypisz(pocz);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KIAp0eXBlZGVmIHN0cnVjdCBCYXphCnsKICAgIGludCBsaWN6YmE7CiAgICBzdHJ1Y3QgQmF6YSAqbmV4dDsKfWVsOwogCnR5cGVkZWYgc3RydWN0IEJhemEyCnsKICAgIGludCBsaWN6YmFfbW9kOwogICAgc3RydWN0IEJhemEyICpuOwp9ZWwyOwogCmVsICpoZWFkID0gTlVMTDsKZWwyICpwb2N6ID0gTlVMTDsKIAp2b2lkIGRvZGFqKCBlbComaGVhZCxpbnQgeCApCiB7CiAgICAgZWwgKnRtcCA9IChlbCAqKW1hbGxvYyhzaXplb2YoZWwpKTsKICAgICB0bXAtPmxpY3piYSA9IHg7CiAgICAgdG1wLT5uZXh0PWhlYWQ7CiAgICAgaGVhZCA9IHRtcDsKIH0KIAp2b2lkIGVkeXR1aihlbDIqKnBvY3opCnsKICAgIGVsICp0bXAgPSBoZWFkOwogCiAKICAgIHdoaWxlKCB0bXAgIT0gTlVMTCkKICAgIHsKICAgICAgICBlbDIgKndzayA9IChlbDIgKiltYWxsb2Moc2l6ZW9mKGVsMikpOwogCiAgICAgICAgaWYoICh0bXAtPmxpY3piYSklMz09MCApCiAgICAgICAgewogICAgICAgICAgICB3c2stPmxpY3piYV9tb2QgPSB0bXAtPmxpY3piYTsKICAgICAgICAgICAgd3NrLT5uID0gKnBvY3o7CiAgICAgICAgICAgICpwb2N6ID0gd3NrOwogICAgICAgIH0KICAgICAgICB0bXA9dG1wLT5uZXh0OwogICAgfQp9CnZvaWQgd3lwaXN6KGVsMiAqYWRyZXNfcG9jeikKewogICAgZWwyICp3c2sgPSBhZHJlc19wb2N6OwogICAgd2hpbGUoIHdzayAhPSBOVUxMKQogICAgewogICAgICAgIHByaW50ZigiICVkICIsd3NrLT5saWN6YmFfbW9kKTsKICAgICAgICB3c2s9d3NrLT5uOwogICAgfQp9CgppbnQgbWFpbigpCnsKICAgIGludCBpOwogICAgZm9yKGk9MTtpPD0xMDtpKyspCiAgICAgICAgZG9kYWooaGVhZCxpKTsKIAogICAgZWR5dHVqKCZwb2N6KTsKICAgIHd5cGlzeihwb2N6KTsKfQ==