Výdělek na internetu - CZEmoney.com

Peníze, výdělek, reklama, affiliate, klikačky, PTP, MLM a další firmy
Právě je 23.05.12 13:29

Všechny časy jsou v UTC + 1 hodina




 [ Příspěvků: 13 ] 
Autor Zpráva
 PříspěvekPředmět příspěvku: Help s C
Napsal: 15.10.11 13:19 
Offline
Uživatelský avatar

Registrován: 26.07.08 20:11
Příspěvky: 990
Toto je úvodní příspěvek

Potreboval by som nejake rady obcas s C-ckom tak budem to pisat do tejto temy, keby sa nasiel niekto kto by mi pomahal, budem mu vdacny.

Teraz mam takyto kod:
Kód:
#define EmptyTOS ( -1 )
#define MinStackSize ( 5 )

        struct StackRecord
        {
            int Capacity;
            int TopOfStack;
            TElement *Array;
        };

        int
        IsEmpty( Stack S )
        {
            return S->TopOfStack == EmptyTOS;
        }

        int
        IsFull( Stack S )
        {
            return S->TopOfStack == S->Capacity - 1;
        }


nejak nechapem tie return-y .. co vlastne vracaju tie funkcie ? Hlavne som sa nestretol s takym zapisom, ze TopOfStack == EmptyTOS (tie == som pouzival len v if-och)

// cize keby vedel niekto vysvetlit preco su tam 2 znaky rovna sa

_________________
“Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.” S. Jobs


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 15.10.11 14:17 
Offline
Uživatelský avatar

Registrován: 28.03.08 16:27
Příspěvky: 405
Uvedené returny vracejí true/false, tedy hodnotu bool... v případě, že je rovno vrací se true, v opačném případě false...

Niméně návratový datový typ těch funkcí bych změnil z int na bool, vzhledem k tomu, že to nic jiného než true/false vrátit nemůže...

_________________
Aukro Aukce
Aukro Aukce

Směňuji PP/AP/BU => LR. Poplatek 3-5%. => smenarna-pp-ap-bu-lr-vt60744.html


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 15.10.11 15:37 
Offline
Uživatelský avatar

Registrován: 26.07.08 20:11
Příspěvky: 990
aha, diky ... myslel som si, ze to bude nieco taketo, no nestretol som sa s takymto zapisom este

_________________
“Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.” S. Jobs


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 16.10.11 10:13 
Offline
Uživatelský avatar

Registrován: 26.07.08 20:11
Příspěvky: 990
dalsia vec, mam zoznam a spraveny stack (cize mozem vkladat prvky a vyberat len z vrchu)

.h subor:

Kód:
struct Node;
typedef struct Node *PtrToNode;
typedef PtrToNode Stack;


.c
Kód:
struct Node
        {
            TElement Element;
            PtrToNode   Next;
        };

Stack
        CreateStack( void )
        {
            Stack S;

            S = malloc( sizeof( struct Node ) );
            if( S == NULL )
                FatalError( "Out of space!!!" );
            S->Next = NULL;
            MakeEmpty( S );
            return S;
        }

TElement
        Top( Stack S )
        {
            if( !IsEmpty( S ) )
                return S->Next->Element;
            Error( "Empty stack" );
            return 0;  /* Return value used to avoid warning */
        }

a tu je funkcia, ktora vyberie prvok:
Kód:
void
        Pop( Stack S )
        {
            PtrToNode FirstCell;

            if( IsEmpty( S ) )
                Error( "Empty stack" );
            else
            {
                FirstCell = S->Next;
                S->Next = S->Next->Next;
                free( FirstCell );
            }
        }


a potrebujem spravit funkciu na vlozenie prvku, ako to spravit ? Tu je prototyp:
Kód:
void Push( TElement X, Stack S );


Asi aj viem ako by to trebalo no neviem ako to zapisat, aby proste to zadane X vlozilo za poslednu poziciu zoznamu

_________________
“Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.” S. Jobs


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 16.10.11 12:09 
Offline
Uživatelský avatar

Registrován: 26.07.08 20:11
Příspěvky: 990
ja som to skusal nejak takto, ale nejde to:

Kód:
   void
        Push( TElement X, Stack S )
        {
           if(IsEmpty(S)) S->Next->Element = X;
             else
           S->Next->Next->Element = X;

        }

_________________
“Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.” S. Jobs


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 16.10.11 13:02 
Offline
Uživatelský avatar

Registrován: 28.03.08 16:27
Příspěvky: 405
Tadyhle to máš celé... www.dcs.vein.hu/CIR/cikkek/implementing_stack_queue.pdf

_________________
Aukro Aukce
Aukro Aukce

Směňuji PP/AP/BU => LR. Poplatek 3-5%. => smenarna-pp-ap-bu-lr-vt60744.html


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 16.10.11 15:27 
Offline
Uživatelský avatar

Registrován: 26.07.08 20:11
Příspěvky: 990
diky ;)

_________________
“Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.” S. Jobs


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 16.10.11 18:08 
Offline
Charita
Charita
Uživatelský avatar

Registrován: 10.11.07 13:23
Příspěvky: 381
Bydliště: Na pomezí Pardubického, Jihomoravského a Olomouckého kraje
TnT píše:
Uvedené returny vracejí true/false, tedy hodnotu bool... v případě, že je rovno vrací se true, v opačném případě false...

Niméně návratový datový typ těch funkcí bych změnil z int na bool, vzhledem k tomu, že to nic jiného než true/false vrátit nemůže...

myslíš to dobře, ale v základním céčku typ bool není, ta funkce vrací int proto protože return (něco == něco) ti dá buď 0 nebo číslo != 0

pokud by tam chtěl mermomoci bool, tak by musel includovat knihovnu stdbool.h, ale je otázka jestli to má cenu


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 16.10.11 20:07 
Offline
Uživatelský avatar

Registrován: 28.03.08 16:27
Příspěvky: 405
Ajo, máš pravdu, teď jsem to našel :D

No každopádně výsledek je stejný, vrácena je logická hodnota 1/0 - True/False

_________________
Aukro Aukce
Aukro Aukce

Směňuji PP/AP/BU => LR. Poplatek 3-5%. => smenarna-pp-ap-bu-lr-vt60744.html


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 17.10.11 13:31 
Offline
Uživatelský avatar

Registrován: 26.07.08 20:11
Příspěvky: 990
teaz jedna tak vec, ked mam nejaku funkciu, napr:
Kód:
 TElement
        TopAndPop( Stack S )
        {

        TElement x;

        if (IsEmpty(S))
             Error ("Empty stack");
            else
             {
                x = S->Array[S->TopOfStack];
                S->TopOfStack--;
             }
        return x;
        }


cize vracia x ... da sa nejak to x-ko, ktore vracia vypisat ? Ak ano, ako ?

_________________
“Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.” S. Jobs


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 17.10.11 13:48 
Offline
Uživatelský avatar

Registrován: 09.02.08 12:24
Příspěvky: 1061
Bydliště: Libáň
v C neumím (zatím) ale logicky to bude něco jako showmsg(topandpop(s)) nebo se mýlím?

_________________
Moje oblíbené sseriály

osobní web s nabídkou programování - design [×] - kódování [×] - programování [8/10]
Honda CBR 600 F 25 kW [×/60]
shyby [8/18]


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 17.10.11 13:49 
Offline
Uživatelský avatar

Registrován: 22.08.08 23:31
Příspěvky: 249
x je typ TElement, takže s ním můžeš zacházet stejně jako s jinou proměnnou stejného typu

_________________
Pokud potřebujete něco s PHP/MySQL/C/C++ apod. neváhejte a napište mi.


Nahoru
 Profil  
 
 PříspěvekPředmět příspěvku: Re: Help s C
Napsal: 17.10.11 14:12 
Offline
Uživatelský avatar

Registrován: 26.07.08 20:11
Příspěvky: 990
preco mi potom nejde printf(TopAndPop(S)); ?

// jaj, ja som debil ... som zabudol, ze printf("%d", TopAndPop(S)); :lol: ... zabudol som tam to %d a sa cudujem preco to nejde :D

_________________
“Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of other's opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.” S. Jobs


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odpovědět na téma  [ Příspěvků: 13 ] 

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto téma: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Powered by phpBB® Forum Software © phpBB Group

Český překlad – phpBB.cz
phpBB SEO
[ Time : 0.256s | 17 Queries | GZIP : On ]