• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zwrócić element z listy

0 głosów
64 wizyt
pytanie zadane 14 stycznia 2021 w C i C++ przez Beginner555 Obywatel (1,030 p.)

Hej,

Mam pytanie odnośnie tego czy dobrze rozumiem treść tego zadania "Zwrócić element z listy którego wartość jest podana w parametrze funkcji." Więc ja to zrozumiałem tak, że trzeba po prostu dać jakoś wartość dla parametru w moim kodzie to użytkownik wybiera wartość i po prostu szukać tego elementu na liście i wypisać go na ekran. Jeśli go nie ma to dać komunikat, że go nie ma. Niech odezwie się ktoś kto robił podobny program czy dobrze zrozumiałem treść tego zadania. Za wszelkie wskazówki dziękuję!:)

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

typedef struct element{
    struct element *next;
    int val;
}el_listy;

el_listy *first;

void wypisz_liste(el_listy *lista, int parametr)
{
    el_listy *wsk=lista;
    int p;
    while(wsk!=NULL)
    {
        if((wsk->val)==parametr){
        printf("%d\n",wsk->val);
        p=1;}
        wsk=wsk->next;
    }
    if(p!=1)
    {printf("Nie ma tego na liscie\n");}
}

void dodaj_do_listy(el_listy *lista, int liczba)
{
    el_listy *wsk, *nowy;
    wsk = lista;
    while(wsk->next!=NULL)
    {
        wsk=wsk->next;
    }
    nowy=malloc(sizeof(el_listy));
    nowy->val=liczba;
    nowy->next=NULL;
    wsk->next=nowy;
}
int main()
{
    int parametr;
    int i=3;
    int end=100;
    scanf("%d",&parametr);
    first=(el_listy*)malloc(sizeof(el_listy));
    first->val=2;
    first->next=NULL;
    for(;i<end;i++)
    {
        dodaj_do_listy(first, i);
    }
    wypisz_liste(first, parametr);
return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 14 stycznia 2021 przez tangarr VIP (140,280 p.)
wybrane 14 stycznia 2021 przez Beginner555
 
Najlepsza

Twoim zadaniem jest zwrócić element listy a nie wyświetlić jego wartość jeżeli znajduje się na liście.

Musisz napisać funkcję o sygnaturze

el_listy * wyszukaj_element(el_listy *lista, int parametr)

 

komentarz 14 stycznia 2021 przez Beginner555 Obywatel (1,030 p.)
No dobra, napiszę taką funkcję znajdę element listy, który ma wartość równą z parametrem i co dalej? Skoro mam nie wypisywać tej wartości to może adres lub numer miejsca elementu na liście? Serio nie rozumiem tego sformułowania "zwrócić element listy". Jeszcze do głowy mi przychodzi, że by ta funkcja wyszukaj_element miała zwracać jakoś wartość, ale wątpię, że o to chodzi.
komentarz 14 stycznia 2021 przez tmar1212 Obywatel (1,760 p.)

Zwrócić element listy, to bez jakiegoś rozkminiania, byłoby zwrócić "value", jaką przechowuje dany węzeł; w Twoim przypadku int.

int get(el_listy * head, int val);

 

komentarz 14 stycznia 2021 przez tangarr VIP (140,280 p.)

Lista składa się z elementów

typedef struct element{
    struct element *next;
    int val;
}el_listy;

Znajdź element, którego wartość zmiennej val jest równa szukanej wartości.
Jeżeli nie ma takiego elementu to zwróć NULL.

komentarz 14 stycznia 2021 przez Beginner555 Obywatel (1,030 p.)
Wiem jak się implementuje listę. Dobra więc rozumiem, że trzeba zrobić tylko funkcję która wyszukuje element z zadaną wartością, jak nie ma to funkcja ma zwracać NULL, a jak jest to ma zwracać ten element, ale nie wartość tego elementu czyli co np. adres czy jak?
komentarz 14 stycznia 2021 przez tangarr VIP (140,280 p.)
Tak, zwracasz adres tego elementu (wskaźnik na niego).

Podobne pytania

0 głosów
0 odpowiedzi 1,938 wizyt
pytanie zadane 15 marca 2020 w Python przez Hakax Nowicjusz (120 p.)
+1 głos
1 odpowiedź 170 wizyt
0 głosów
2 odpowiedzi 146 wizyt

88,720 zapytań

137,332 odpowiedzi

306,819 komentarzy

58,907 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...