Pitanje ili opis problema
Zdravo,
Imam problema sa zadatkom Petlja. Izbacuje mi RTE, iako mi kod savrseno radi u VS Code-u.
#include <stdio.h>
#include <stdlib.h>
typedef struct Element{
int podatak;
struct Element *sledeci;
} Element;
Element* dodaj_na_kraj(Element* lista, Element* novi)
{
if (lista == NULL)
{
novi->sledeci = lista;
lista = novi;
return lista;
}
Element *temp = lista;
while (temp->sledeci != NULL)
temp = temp->sledeci;
temp->sledeci = novi;
return lista;
}
Element* dodaj_na_pocetak(Element* lista, Element* novi)
{
novi->sledeci = lista;
lista = novi;
return lista;
}
Element* dodaj_na_poziciju(Element* lista, Element* novi, int i)
{
if (!i)
{
novi->sledeci = lista;
lista = novi;
return lista;
}
Element *temp = lista;
while (–i > 0)
temp = temp->sledeci;
novi->sledeci = temp->sledeci;
temp->sledeci = novi;
return lista;
}
void ispisi_listu(Element *lista)
{
while (lista != NULL)
{
printf("%d ", lista->podatak);
lista = lista->sledeci;
}
putchar(’\n’);
}
int main()
{
Element *lista = NULL;
int a = 1, b, x;
while (a > 0)
{
scanf("%d", &a);
if (a == 0) break;
scanf("%d", &b);
Element *novi = (Element *)malloc(sizeof(Element));
novi->podatak = b;
novi->sledeci = NULL;
switch (a){
case 0:
break;
case 1:
lista = dodaj_na_kraj(lista, novi);
break;
case 2:
lista = dodaj_na_pocetak(lista, novi);
break;
case 3:
scanf("%d", &x);
lista = dodaj_na_poziciju(lista, novi, x);
break;
default:
a = 0;
break;
}
}
ispisi_listu(lista);
Element *prev = NULL;
Element *temp = lista;
while (temp != NULL)
{
prev = temp;
temp = temp->sledeci;
free(prev);
}
return 0;
}