Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Potrebna pomoc oko zadatka sa jednostruko spregnutom listom

[es] :: C programiranje :: Potrebna pomoc oko zadatka sa jednostruko spregnutom listom

[ Pregleda: 770 | Odgovora: 1 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dolke022
Dean Dolic
Indjija

Član broj: 80485
Poruke: 53
*.bxy.org.yu.



Profil

icon Potrebna pomoc oko zadatka sa jednostruko spregnutom listom09.01.2006. u 01:28

Napisati C program koji demonstrira realizaciju
osnovnih operacija sa dinamickom strukturom podataka
oblika jednostruko spregnute liste. Element liste se
sastoji od dva polja: podatak koji predstavlja ceo
broj i pokazivac na sledeci element liste.
Operacije koje treba realizovati sa jednostruko
spregnutom listom su:
-Unos novog broja, po izboru korisnika(na pocetak ili
kraj liste)
NAPOMENA: Zadovoljiti uslov da se u listi ne moze
nalaziti vise od 5 istih brojeva)
-Modifikacija (umesto jednog broja treba upisati drugi
broj)
-Trazenje broja u listi
-Brisanje broja iz liste (ako ima vise istih,
izbrisati ih sve)
DODATNO:
Napraviti tabelarni prikaz pojavljivanja brojeva u listi.

Kecbaha
09.01.2006. u 01:28 

RedDrake

Član broj: 80474
Poruke: 17
*.adsl.net.t-com.hr.



Profil

icon Re: Potrebna pomoc oko zadatka sa jednostruko spregnutom listom09.01.2006. u 02:52
Code:

//------------------------------------------------------------------------
//
// Name : Lista.cpp
//
// Desc : Glavni source fajl
//
//------------------------------------------------------------------------
// Include files
//------------------------------------------------------------------------
#include <stdio.h>
#include <malloc.h>





//------------------------------------------------------------------------
//
// Name : ListNode
//
// Desc : Element linkirane liste
//
//------------------------------------------------------------------------
typedef struct _ListNode
{
    struct _ListNode*            mNext;

    int                            mValue;
}ListNode;





//------------------------------------------------------------------------
//
// Name : main
//
// Desc : Pocetna funkcija koda
//
//------------------------------------------------------------------------
int main (void)
{
    ListNode*                    fFirst = NULL;
    ListNode*                    fLast = NULL;

    int                            fInput;
    char                           fPos;

    ListNode* fNode;
    int nRefs;

    do
    {
        printf("Unesite broj : \n");
        scanf("%d", &fInput);

        printf("Unesite poziciju broja (K)raj/(P)ocetak \n");
        scanf("%c", &fPos);
        scanf("%c", &fPos);

        fNode = fFirst;
        nRefs = 0;

        if (fFirst != NULL)
        {
            do
            {
                if (fNode->mValue == fInput)
                    nRefs++;
                
                fNode = fNode->mNext;
            }while(fNode != NULL && nRefs < 5);
        }

        if (nRefs >= 5)
        {
            printf("U listi vec postoji 5 brojeva zadane vrijednosti ! \n");
        }
        else
        {
            ListNode* fTemp = (ListNode*)malloc(sizeof(ListNode));
            fTemp->mValue = fInput;

            if (fFirst != NULL)
            {
                if (fPos == 'K')
                {
                    fLast->mNext = fTemp;
                    fLast = fTemp;
                    fLast->mNext = NULL;
                }
                else
                {
                    fTemp->mNext = fFirst;
                    fFirst = fTemp;
                }
            }
            else
            {
                fFirst = fTemp;
                fLast = fTemp;

                fFirst->mNext = NULL;
            }
        }

    }while (fInput != 0);


    fNode = fFirst->mNext;

    do
    {
        printf("%d ", fNode->mValue);
        
        free((void*)fFirst);
        fFirst = fNode;

        fNode = fNode->mNext;
    }while (fNode != NULL);

    getchar();

    return 0;
};


kod ti ne radi sve trazeno, ali sve te funkcije je lako ubaciti - sa minimalno truda ...
ovo je valja ispravno - mozda sam pogresno svatio zadatak :)
je sigurno da mora bit zadatak u c ? u c++ se ovo moze rijesit u par linija koda sa STL-om.
09.01.2006. u 02:52 

[es] :: C programiranje :: Potrebna pomoc oko zadatka sa jednostruko spregnutom listom

[ Pregleda: 770 | Odgovora: 1 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.