Ndihme!!! Me c++

Diskutime tek 'Programimi' filluar nga shkopi, 16 Nov 2002.

  1. Burim

    Burim Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    Ja p.sh. kapertoni me dergoi nje pjese programore e cila me ndihmoi shume qe ta kuptoj qellimin, por une e kompletova dhe edhe pse nuk ka gabime sintaksore pasi kompajlohetdhe pasi i fus elementet e listes, kur vjen puna te behet fshirja bllokohet gjate ekzekutimit.

    Shume seriozisht e marr dhe kam filluar t'i kuptoj, ju falenderoj, posacerisht disave qe me shkruajten ne PM.
     
  2. Burim

    Burim Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    Harrova ta postoj programin...ju lutem a ka mundesi dikush ta marre kete dhe ta kompajloje dhe te me tregoje se ku eshte gabimi?

    #include <iostream.h>

    struct node
    {
    int x;
    node *next;
    node *prev;
    };

    void del(node *list)
    {
    if(list)
    {
    node* p=list;
    int pos=1;
    while(p->next)
    {
    pos+=1;
    p=p->next;}


    pos=(pos/2)+1;
    p=list;
    for(int i=0; i<pos; i++)
    {p=p->next;}
    p->prev->next=p->next ;
    p->next->prev=p->prev ;
    delete p;}

    return;
    }
    int main()
    {
    node *list;
    list=new node;
    for (int i=1;i<=5;i++)
    {
    list->next=NULL;
    cout<<"Fute nyjen "<<i<<": ";
    cin>>list->x;
    }

    del(list);
    return 0;
    }
     
  3. Albert

    Albert Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    Burim, problemi eshte se ti nuk nderton realisht liste ne memorje. Ajo cfare ndodh tek main eshte:
    Code:
    1.	node *list;
    2.	list=new node;
    3.	for (int i=1;i<=5;i++)
    4.	{
    5.		list->next=NULL;
    6.		cout<<"Fute nyjen "<<i<<": ";
    7.		cin>>list->x;
    8.	}
    9.	del(list);
    10	return 0;
    Ne rreshtin 1 deklaron nje pointer list mbi nje object te tipit node.
    Ne rreshtin 2 ze vend ne heap per nje objekt te tipit node the ben qe list te shenoj mbi kete objekt. Pra deri ketu ke nje variabel pointer list qe shenon mbi nje objekt node.
    Brenda ciklit for ti vetem sa ndryshon vleren e anetarit x te struktures node, por ke gjithmone vetem nje objekt. I gjithe problemi eshte qe ti nuk krijon objekte te tjere brenda ciklit for. Kodi per ta rregulluar eshte:
    Code:
    	node *head = NULL, *tmp;
    	for (int i=1;i<=5;i++)
    	{
    		tmp = head;
    		head = new node;
    		head->next = tmp;
    		cout<<"Fute nyjen "<<i<<": ";
    		cin>>head->x;
    	}
    
    	del(head);
    	return 0;
    Kjo eshte per nje liste normale, jo per nje double linked list. Problemi tjeter eshte se fuksioni del nuk eshte ne rregull. Nqs me thua se cfare do te arrish mund te te jap ndonje ide. Gjithe te mirat
     
  4. a-alket

    a-alket Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    Burim,

    kur krijohet nje liste, duhet te kesh paraysh se krijohet nje structure node(apo klase) qe ka data dhe pointers (next & prev), dhe krijohet nje klase me vete liste qe permban 1 ose 2 pointers (head ose/dhe tail) qe shenojne perkatesisht tek koka ose/dhe bishti i listes. Plus, kjo klasa permban funksione per manipulimin e vetvetes. Ndryshe, ti duhet ta besh gjithcka ne main dhe me funksione dhe behet lemsh si me siper.


    nje vend per te lexuar mbi listat ne detaje eshte

    www.oopweb.com (dikush e ka vene ketu kete link para shume kohesh) ose merr nje liber dhe lexoje me kujdes.
     
  5. qoska

    qoska Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    A ka provuar ndonjeri nga ju te shkruaje nje program te ngjashem me PING ne c++ dhe nqs po a mund ta postoje ketu sa per qartesi ???
     
  6. gurax

    gurax Pan ignoramus

    Re: Hej cuna a di ndonjere te punoje ne c++

    Qoska, ideja eshte per ta bere me C++ se s'ben? Implementimi i perhershem ka qene me standard C bashke me librarite per network socket layer perkates. Nen Windows mund te implementohet me raw data socket ose me Windows network API functions. Nen Linux eshte me metoden UNIX sockets dhe POSIX derieved signaling.
    Une vete nuk jam perpjekur ndonje here te shkruaj ndonje program te tille por tani qe e mendoj s'me duket dhe aq triviale. Do te kesh shume te besh me pune direkte ndaj sockaddr structure dhe in_addr structure, duke u marre me pointer cast midis te dyjave si dhe me kapje direkte te elementeve perkates, perdorimin e aton() dhe ntoa() [ose inet_aton() dhe inet_ntoa() ] etj.
    Implementimi aktual i ping mund ta marresh ketu


    ------------------
    "Have I told you lately..."
     
  7. koppertoni

    koppertoni Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    Ishte favoritja ime. Be my guest! Tani e pavlere. Tested in Linux kernel 2.2.17. Compiled with gcc (GCC) 3.2.1.

    Po e compilove me ndonje platforme tjeter nuk ka per te punuar. Shikoni ne SunOS me jep errors te llahtarshme: http://www26.brinkster.com/montaignerious/untitled5.jpg

    Code:
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netdb.h>
    #include <netinet/in.h>
    #include <netinet/in_systm.h>
    #include <netinet/ip.h>
    #include <netinet/ip_icmp.h>
    #ifdef REALLY_RAW
    #define FIX(x)  htons(x)
    #else
    #define FIX(x)  (x)
    #endif
    
    int
    main(int argc, char **argv)
    {
       int s;
       char buf[1500];
       struct ip *ip = (struct ip *)buf;
       struct icmp *icmp = (struct icmp *)(ip + 1);
       struct hostent *hp;
       struct sockaddr_in dst;
       int offset;
       int on = 1;
       bzero(buf, sizeof buf);
       if ((s = socket(AF_INET, SOCK_RAW, IPPROTO_IP)) < 0) {
       perror("socket");
       exit(1);
            }
            if (setsockopt(s, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on)) < 0) {
                    perror("IP_HDRINCL");
                    exit(1);
            }
            if (argc != 2) {
                    fprintf(stderr, "usage: %s hostnamen", argv[0]);
                    exit(1);
            }
            if ((hp = gethostbyname(argv[1])) == NULL) {
                    if ((ip->ip_dst.s_addr = inet_addr(argv[1])) == -1) {
                            fprintf(stderr, "%s: unknown hostn", argv[1]);
                    }
            } else {
                    bcopy(hp->h_addr_list[0], &ip->ip_dst.s_addr, hp->h_length);
            }
            printf("Sending to %sn", inet_ntoa(ip->ip_dst));
            ip->ip_v = 4;
            ip->ip_hl = sizeof *ip >> 2;
            ip->ip_tos = 0;
            ip->ip_len = FIX(sizeof buf);
            ip->ip_id = htons(4321);
            ip->ip_off = FIX(0);
            ip->ip_ttl = 255;
            ip->ip_p = 1;
            ip->ip_sum = 0;                 
            ip->ip_src.s_addr = 0;          
    
            dst.sin_addr = ip->ip_dst;
            dst.sin_family = AF_INET;
    
            icmp->icmp_type = ICMP_ECHO;
            icmp->icmp_code = 0;
            icmp->icmp_cksum = htons(~(ICMP_ECHO << 8));
    
            for (offset = 0; offset < 65536; offset += (sizeof buf - sizeof *ip)) {
                    ip->ip_off = FIX(offset >> 3);
                    if (offset < 65120)
                            ip->ip_off |= FIX(IP_MF);
                    else
                            ip->ip_len = FIX(418);  /* 65538 !!! */
                    if (sendto(s, buf, sizeof buf, 0, (struct sockaddr *)&dst,
                                            sizeof dst) < 0) {
                            fprintf(stderr, "offset %d: ", offset);
                            perror("sendto");
                    }
                    if (offset == 0) {
                            icmp->icmp_type = 0;
                            icmp->icmp_code = 0;
                            icmp->icmp_cksum = 0;
                    }
            }
    }
     
  8. koppertoni

    koppertoni Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    Pervec C++ kam degjuar EC++. What is EC++? E mund te jete per embeded. Por me sqaroni ne fjalet tuaja cfare eshte specifike. C/C++ mund te perdoren ne Embeded Applications. Cfare eshte ne EC++.
     
  9. qoska

    qoska Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    o Koperton rrofsh lale se ishte sa per nje krahasim te vogel.PAnvaresisht se jo i plote si program.
    Sa per ta bere kompatibel me sistem te tjere duhet pare me vemendje.
    Sa per ec++ e kam degjuar por nuk me ka interesuar ndonjehere pasi une merrem zakonisht meprogramim rrjeti dhe protokolle dhe zakonisht ne "pure" C po thjesht desh ate beja nje krahasim te vogel.
     
  10. koppertoni

    koppertoni Primus registratum

    Re: Hej cuna a di ndonjere te punoje ne c++

    shikoje nje here me teper rrjeshtin me /* 65538 !!! */ se cfare eshte bere me perpara. Nuk eshte PING is zakonshem. Eshte bombardues me ICMP requests.
    Ska as me te voglen vlere ky program. Kohe e humbur njesoj sikur e humbet ne Albforum. Jeta eshte e mbushur me ironira. O zot cpo ndodh me mua.
     
  11. Enion

    Enion Primus registratum

    Ndihme!!! Me c++

    Sikurse nuk e di ta perdor c++ nje shok me ka kerkuar nje ndihme per nje program i cili eshte ky:
    1. Write a program to print a histogram of the lengths of words in its input. Draw the histogram with vertical bars.

    2. Create a class that imitates part of the funcionality of the basic type float. Call the new class Float. the only data component in this class is a float variable and it may contain values in the range from -20000.0 to 19999.0. Include member functions to initialize Float to 0.0, to initialize it to a certain float value, to display it, and to add two Float values in two different versions:

    Float a(3.), b(5.), c, d;
    c.Add1(a,b);
    d=a.Add2(b);

    Overload all four arithmetic operators (+,-,*,/) so that they operate on objects of type Float. If the result of any such arithmetic operation exceeds the Float range have the operator print a warning and terminate the program. Write a program that exercises this class by creating Float objects and executing all member functions.

    Eshte ne anglisht dhe ju kerkoj qe ndonjeri te me ndihmoj.Faleminderit.
     
  12. Mondi_Alb

    Mondi_Alb Primus registratum

    Re: Ndihme!!! Me c++

    ENION.Ketu ke se si ta perdoresh dc++.
    Eshte ne shqip.
    Hape
     
  13. koppertoni

    koppertoni Primus registratum

    Re: Ndihme!!! Me c++

    Postova qe te hapesh ti syte. Tja bejne qyl shokut keta humbamenot e Albforumit. Une fitoj thote. Pse shkruani se Nano na i ka me te futur. Po ky nuk e ka me te futur? Maskarai i Madh. Maskarai i vogel. Eshte gjynah per mua, per ty, per te tjeret qe kujtojne se po e ndihmojme ate. Ne rradhe te pare mbase jo para por dicka tjeter e fituar.

    Ndihma eshte gje tjeter. Shiko postimet e mia ne http://www.albforumi.com/af/ultimatebb.php/ubb/get_topic/f/49/t/000185 . Pardje postova atje.U lodha beni cfare te doni se na cate derrasat.
     
  14. Erjon rapper

    Erjon rapper Forumium praecox

    Re: Ndihme!!! Me c++

    Ore Kopertono, se na cave trapin nuk po te thote njeri te ndihmosh me zorr. Po deshe ndihmo, po deshe jo. Ketu ne forum thjesht japim mendime me deshiren tone. Asgje me te teper. Nese tjetri e do per te fituar leke, pune e tij.
    /pf/images/graemlins/smile.gif
     
  15. Mondi_Alb

    Mondi_Alb Primus registratum

    Re: Ndihme!!! Me c++

    Bravo ju qofte.
    Postime te mira jane.!!!!!!!!!!??????????????????

    KY ESHTE FORUM DHE JO CARJE T...SH...................
     
  16. Enion

    Enion Primus registratum

    Re: Ndihme!!! Me c++

    O kaperton, si kam thene qe di me perdor c++. Ai i ka derguar email te gjithe shokve te vet qe njeh se mos e ndihmon njeri. Une thashe ta provoje nje here te albforumi. Atij si kam thene fare qe do te te ndihmoj. Ti nqs me ndihmon te falenderoj shume. Perndryshe mos me llap mua jo keshtu e jo ashtu se e kam shok te ngushte dhe dua ta ndimoj. Ne rregull.
     
  17. ludwig

    ludwig Primus registratum

    Re: Ndihme!!! Me c++

    kam nje pyetje

    class x
    {
    private:
    char* ch1;
    public:
    x();
    x(char*);
    *;

    x::x()
    {
    ch1 = new char[20];
    strcpy(ch1, "");
    *

    x::x(char* nm)
    {
    ch1 = new char[20];
    strcpy(ch1, nm);
    *

    x var1; //krijone nje var1::ch1 te vlefshme
    /* deri ketu eshre ne rregull */

    meqenese x::x() eshte afersisht e njejte me x::x(char*) mund te shkruajme (ne teori te pakten)

    class x
    {
    private:
    char* ch1;
    public:
    x(char*);
    x() {x("");*
    *;

    x::x(char* nm)
    {
    ch1 = new char[20];
    strcpy(ch1, nm);
    *

    x var1;// duhet te krijoje nje var1::ch1 te vlefshme por nuk e ben (adresa e var1::ch1 = 0xcccccccc)

    di ndonjeri pse?
     
  18. fitims

    fitims Primus registratum

    Re: Ndihme!!! Me c++

    x var1; - e ben vetem deklarimin e variables. Per ta perdore ate duet ta krijosh nje objekt te tipit x si shembulli me poshte:

    x var1 = new x();

    kur ta krijosh objektin, teka atehere mund ta perdoresh. Kurse, pasi qe variabla ch eshte de deklaruar si private, atehere ti nuk ke qasje ne te. Ne variablen ch ka qasje vetem funksionet e klases x.

    te pershendes
     
  19. ludwig

    ludwig Primus registratum

    Re: Ndihme!!! Me c++

    ne rastin e dy konstruktoreve te vecante:
    x();
    x(char*);

    x::x()
    {
    ch1 = new char[20];
    strcpy(ch1, "");
    *

    x::x(char* nm)
    {
    ch1 = new char[20];
    strcpy(ch1, nm);
    *

    x var1; //punon dhe eshte ne rregull; ch1 eshte e vlefshme.

    vetem kur dua te perdore 1 konstruktore:
    x(char*);
    x(){x("");*

    x::x(char* nm)
    {
    ch1 = new char[20];
    ...
    ...
    *

    ne kete raste nuk punon
     
  20. ludwig

    ludwig Primus registratum

    Re: Ndihme!!! Me c++

    x var1 = new x(); //nuk compilohet, 'new' kthen nje 'pointer'

    x *var1 = new x(); //compilohet ne rregull, megjithate nuk punon

    compiluesi eshet visual c++ 6.0
     

Shpërndajeni këtë faqe