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

Zwrócić element z listy

VPS Starter Arubacloud
0 głosów
102 wizyt
pytanie zadane 14 stycznia 2021 w C i C++ przez Beginner555 Obywatel (1,760 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 Mędrzec (154,780 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,760 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 Bywalec (2,600 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 Mędrzec (154,780 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,760 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 Mędrzec (154,780 p.)
Tak, zwracasz adres tego elementu (wskaźnik na niego).

Podobne pytania

0 głosów
1 odpowiedź 276 wizyt
pytanie zadane 2 grudnia 2022 w Python przez dedek2 Początkujący (370 p.)
0 głosów
0 odpowiedzi 4,348 wizyt
pytanie zadane 15 marca 2020 w Python przez Hakax Nowicjusz (120 p.)
+1 głos
1 odpowiedź 246 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...