Ndihme!!! Me c++

Burim

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

Fillimisht postuar nga DArtur21:
Nuk ka asnje te keqe, nese ne i japim ca shembuj dhe i sheh prej ketu. Sic e pate p.sh. shembulli qe dhashe une nuk eshte i plote dhe ka gabime, se une nuk mora kompajlerin dhe e perktheva e ia bera te gjitha gati.
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.

Problem behet kur ky nuk i merr seriozisht ato gjera dhe ti provoje, te ndryshoje te merret me ta. Vetem ashtu mund ti mesosh gjerat, lum miku.
Shume seriozisht e marr dhe kam filluar t'i kuptoj, ju falenderoj, posacerisht disave qe me shkruajten ne PM.
 

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;
}
 

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
 

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.
 

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 ???
 

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..."
 

koppertoni

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

Fillimisht postuar nga qoska:
[qb] 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 ??? [/qb]
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;
                }
        }
}
 

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++.
 

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.
 

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.
 

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.
 

koppertoni

Primus registratum
Re: Ndihme!!! Me c++

Fillimisht postuar nga Raper:
[qb]C'te duhet ty njehere per ca e do tjetri, nese ke deshire ndihmoje, ne se jo mos posto fare.[/qb]
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.
 

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
 

Mondi_Alb

Primus registratum
Re: Ndihme!!! Me c++

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

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

Enion

Primus registratum
Re: Ndihme!!! Me c++

Fillimisht postuar nga Kopertoni:
[qb]
Fillimisht postuar nga EnIoN:
[qb] Sikurse nuk e di ta perdor c++ nje shok me ka kerkuar nje ndihme per nje program i cili eshte ky: [/qb]
I the shokut qe di c++? u mburre para tij. Heh. Shqiptaret. Eshte pyetje elementare ne c++ 101 po le te tjeret te e shkruajne. Heres tjeter shpik ndonje arsye qe je i zene ose mesoje c++ nga zori. Ore shejtan kot pergjumesht mos i kerkuar 50 dollare atij ti keta ketu e bejne per ty falas. Jane palaco shqiptaret e bejne kete. [/qb]
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.
 

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?
 

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
 

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
 

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
 
Top