usuwanie liczb nieparzystych w liście

0

Dziendobry, mam nastpujacy problem:

warunek: if((wsk->klucz)%2==1) dziala doskonale, ale
jak zrobie: if((wsk->klucz)%2==0) to program przestaje działać :(

0

Dzień dobry, wymień uszczelkę.

0

to znaczy?

0

To znaczy tyle, że nie mamy bladego pojęcia, co jest przyczyną tego problemu, ponieważ nie podałeś nic konkretnego, jak choćby reszty kodu czy komunikatu błędu.
Jak idziesz do lekarza to także wchodzisz do gabinetu i panie doktorze, coś mnie boli... ale w sumie nie powiem panu co mi się dzieje.?

0

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

typedef struct element
{
int klucz;
struct element *next;
}lista;

lista *first;
void wypisz(lista *first)
{
lista *wsk;
wsk=first;
while(wsk!=NULL)
{
printf("\n%d",wsk->klucz);
wsk=wsk->next;
}
printf("\n");
}

void dodaj(lista *first,int dana)
{

lista *wsk , *nowy;
wsk=first;
while(wsk->next!=NULL)
{
	wsk=wsk->next;
}
nowy=malloc(sizeof(lista));
nowy->klucz=dana;
nowy->next=NULL;
wsk->next=nowy;

}

void srednia(lista *first)
{

float a;
lista *wsk;
wsk=first;
while(wsk!=NULL)
{
	a+=wsk->klucz;
	wsk=wsk->next;
}
printf("%f",a/100);

}
///////////////////////////////////////////////////////////////////////////mowie o tej funkcji////////////////////////////////////////////////////////////////////////////////////
void usun_parzyste(lista *first)
{
lista *wsk ,*usuwany;
wsk=first;

while(wsk!=NULL)
{
	if((wsk->klucz)%2==1)
	{
		usuwany=wsk->next;
		wsk->next=usuwany->next;
		free(usuwany);
	}
	wsk=wsk->next;
}

}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[])
{
first=malloc(sizeof(lista));
first->klucz=1;
first->next=NULL;

int i=2;
for(;i<101;i++)
{
	dodaj(first,i);
}
wypisz(first);
srednia(first);
usun_nieparzyste(first);
wypisz(first);
return 0;

}

0

A komunikat błędu?
Próbowałeś też debugować?

0

usun_nieparzyste() - nie masz takiej funkcji
float a w funkcji srednia - masz deklarację zmiennej, gdzie ją definiujesz inicjalizujesz ?

Btw. - potrafisz korzystać z debuggera? Jeżeli tak, to leć po każdej linijce kodu i sprawdź gdzie Ci się program wysypuje. Jeżeli nie wiesz jak się debuguje, to google.

1 użytkowników online, w tym zalogowanych: 0, gości: 1