Ndihme!!! Me c++

a-alket

Primus registratum
Re: C++ exercises

(edituar, jashte teme)

qe te mos dalim nga tema ... :p ja nje ushtrim per marlboro:
gate()
{
int pin[2];
return abs(pin[0] - pin[1]);
}
/* supozo qe pin merr vetem vleren 0 ose 1...
na bej nje truth-table...dmth...nje tabele ku per cdo cift te ndryshem pin[0], pin[1] te japesh vleren e ketij funksioni */
 

McKINLEY

Primus registratum
Re: C++ exercises

kemi dy variabla A, B te tipit INTEGER.
ti kalohet vlera e A ,B dhe vlera e B , A pa perdorur variabel ndihmes.
 

andi

Primus registratum
Re: C++ exercises

Fillimisht postuar nga McKINLEY:
[qb]kemi dy variabla A, B te tipit INTEGER.
ti kalohet vlera e A ,B dhe vlera e B , A pa perdorur variabel ndihmes.[/qb]
A = A + B
B = A - B
A = A - B

Ky eshte nje ushtrim klasik qe shpesh here perdoret per te theksuar rendesine e wp (weakest precondition calculus) te Dijkstras
 

Gjergj_Kastrioti

Primus registratum
Re: C++ exercises

Andi, ma zgjidh kete ushtrimin ne Assembler pa perdorur rregjistrat e procesorit. Po te bej nje favor te madh, mund te perdoresh variabla ndihmese.

Njeri kishte shkruajtur qe VB.NET eshte shume i shpejte. Ore, mos ke rrjedhur gje ti lale. Profesioniste te VB e lane ate sepse ishte teper i ngadalte (+ te keqija te tjera nga .NET) ndersa ti po na thua qe ai arrin ne shpejtesi C++!!! Nejse, nu ke faj, se ne shqiptaret "dime" shume, flasim shume, dhe nuk bejme asgje.
Sa per MFC qe eshte wrapper i API, kjo nuk eshte plotesisht e vertete. MFC fut edhe shume gjera te tjera ndihmese (i di vete ti), dhe nga ana tjeter perdor shkelqyeshem gjerat e gatshme te Windows. Prandaj nese e trajtojme nga shpejtesia e punes:

Puro C++ ~ MFC & C++ > Delphi/C++Builder >>> .NET

Kur fola per variablen CString thashe ANSI C++, jo ANSI C, lexoje edhe nje here.
 

shkopi

Primus registratum
Re: C++ exercises

Fillimisht postuar nga bscemscs:

.ja nje ushtrim per marlboro:
gate()
{
int pin[2];
return abs(pin[0] - pin[1]);
}
/* supozo qe pin merr vetem vleren 0 ose 1...
na bej nje truth-table...dmth...nje tabele ku per cdo cift te ndryshem pin[0], pin[1] te japesh vleren e ketij funksioni */
Paskam pune akoma..se kete se mora vesh fare... /pf/images/graemlins/laugh.gif Truth table??? car eshte kjo..??...nejse je qe je ma shkruaj edhe zgjidhjen ...flm
 

eM

Paper Moon
Re: C++ exercises

Oh zot!
Ne vit te katert ma mbushi mendje nji shoqe te merja nje klase qe merej me C++ Computer Science me duket! Sme kujtohet dhe aq mire! I droped out the first week!
Nejse ishte teper teper i merzitshem!!!! /pf/images/graemlins/frown.gif

eM
 

a-alket

Primus registratum
Re: C++ exercises

Fillimisht postuar nga Helloween:
[qb]Njeri kishte shkruajtur qe VB.NET eshte shume i shpejte. Ore, mos ke rrjedhur gje ti lale.

Sa per MFC qe eshte wrapper i API, kjo nuk eshte plotesisht e vertete. MFC fut edhe shume gjera te tjera ndihmese (i di vete ti), dhe nga ana tjeter perdor shkelqyeshem gjerat e gatshme te Windows. Prandaj nese e trajtojme nga shpejtesia e punes:

Puro C++ ~ MFC & C++ > Delphi/C++Builder >>> .NET

Kur fola per variablen CString thashe ANSI C++, jo ANSI C, lexoje edhe nje here.[/qb]
Degjo ore se e more me vrull te madh. .NET eshte evolimi i MFC prandaj mos u nxeh shume. Dhe... WinAPI eshte e gjitha C..prandaj kujdes ato specifikimet e shpejtesise se del bllof. + qe une nuk te thashe qe MFC eshte vetem wrapper...te thashe pak a shume. Ndoshta nuk e ke kuptuar.

E sa per ate qe ANSI C apo C++, mu duk se the ANSI C sepse po flisje per C dhe kalove direkt ne ANSI C++...megjithate edhe ti e ke te qarte qe standardi nuk do permbaje klasa, librari apo ekstensione specifike te nje kompanie(M$ ne kete rast).

Sa per VB.NET, nuk thashe qe eshte e shpejte sa C++, thashe qe te ofron fuqi te perafrueshme te C# dhe C++ dhe nuk eshte 'scripting' language si me pare. VB.NET te ofron edhe krijimin e klasave. Shpresoj qe arrin te dallosh fuqine nga shpejtesia...dhe qe kete mesazh nuk do e lexosh me bythe sic lexove ate me pare dhe nuk do leshosh ndonje pordhe si me siper.
 

a-alket

Primus registratum
Re: C++ exercises

Marlboro,

truth table perdoret kur studion boolean algebra ose digital design. Psh. per porten AND

..a..|..b..|..AND
..0..|..0..|..0..
..0..|..1..|..0..
..1..|..0..|..0..
..1..|..1..|..1..

funksioni me lart (qe harrova ta specifikoj qe kthen nje int..dmth: int gate() /pf/images/graemlins/wink.gif jep truth table per XOR gate.
 

Gjergj_Kastrioti

Primus registratum
Re: C++ exercises

Dhe perse duhet te ofendosh aq shume? Kishe merak mos mbeteshe pa ma lare hakun dhe pa me dhjere edhe me keq? Une pyeta me shaka, pa ta mbajtur mend as emrin, ti shan me ironi dhe mendjemadhesi. Bej si te kesh qejf, mua s'me prish pune (s'me hyn ne pune).

.NET nuk eshte evoluim i MFC. Ne qender te .NET eshte krijimi i Web Services (edhe vete MS e pranon qe per programe shtepiake nuk eshte optimal) qe komunikojne nepermjet XML. Me funksionet qe ofron .NET synon te zevendesoje WinAPI, ndersa MFC thjeshton punen me funksionet me te perdorura te WinAPI. Ne rregull?
Nese VB.NET eshte pothuajse po aq i mire (dhe i shpejte) sa C#, kjo nuk do te thote se VB.NET eshte shume i mire, VB nuk ka per te qene kurre i mire, por do te thote se C# nuk eshte fare C, por "Microsoft Java only for Windows".
 

a-alket

Primus registratum
Re: C++ exercises

degjo, une nuk te ofendova dhe e pranova qe isha ngaterruar kur kujtova se ti u ankove qe CString nuk ben pjese ne ANSI C. Po ti ishe ai qe fillove me "ne shqiptaret nuk dime ....etj". Pse nuk e pranon dhe ti qe lexove dicka gabim apo ngaterrove kuptimin dhe aq. Nuk ka pse shahet kur as ti as une nuk themi dot llafin perfundimtar ne ndonje nga temat e permendura.

Une nuk te thashe qe VB.NET eshte aq e shpejte sa C++. Te them dhe njehere qe ofron konstrukte qe VB6 nuk ti lejonte prandaj them e perafrueshme. Pse nuk lexon ato qe them? Gjithashtu, C# qe thua ti eshte standard i ISO ndersa Java nuk eshte standard po eshte prone e SUN Microsystems. Plus, C# krijon machine code ndersa Java interpretohet gjithmone nga Java VM. C# gjithashtu te ofron mundesine te perdoresh pointers dhe manual memory-management qe Java nuk ta ofron. perse nuk perdor njeri Java per GUI? sepse eshte shume e ngadalshme, pikerisht prej asaj VM ne mes. .NET gjithashtu ofron mundesine qe kod i shkruar ne gjuhe te ndryshme te kthehet ne machine code ne menyre te njejte, pra te kesh mundesi te bashkosh kod nga gjuhe te ndryshme. .NET suporton 27 gjuhe programimi, dhe sigurisht qe te jep me shume se c'te jep Java apo jo?

.NET ofron shume klasa. E ke hapur ndonjehere .NET SDK dhe ti shikosh klasat atje? Ka shume klasa dhe nuk jane vetem per XML. Megjithese ashtu sic thua ti XML eshte dicka qe suportohet thellesisht nga .NET.

.NET ofron shume funksione dhe gjithashtu eshte edhe WinAPI wrapper. Po ta shikosh, MFC ashtu si dhe .NET kane nje strukture te orientuar sipas OOP. Ne MFC te gjitha objektet trashegohen(inherited) nga CObject dhe CWnd. Ne .NET, gjithcka trashegohet nga Object.

pa te keq, gjithe te mirat.
 

andi

Primus registratum
Re: C++ exercises

Mare nga pergjigjia qe bera per nje detyre shtepie per klasen OOD.

Since the early 1990’s when Object Oriented Design became popular, most programming languages tried to incorporate Object Oriented features. All types of languages from classical procedural like FORTRAN to functional like Haskell, APL and even special purpose like CLIPS, support programming with objects. This approach works well but these languages are hampered by backward compatibility issues. New languages on the other hand, are truly Object Oriented. One of them is Microsoft™ .NET Framework.

.NET framework is not a language per se. It is a framework that supports a number of languages as long as their compiler abides to the CLS (Common Language Specification). This is achieved by having the same class names across different languages which in turn are translated into MSIL (Microsoft Intermediate Language) code.
Object Identity Every type in .NET is an object, meaning that it must derive directly or indirectly from the Object class. If you don’t specify a base class when you define a class, the compiler will inject this requirement. The Object class exposes four public methods which you can invoke on any .NET object at runtime. One of these methods is GetHashCode(), which gets the objects hash code. In .NET, hash codes are used as a mechanism for determining object uniqueness in runtime.

Inheritance As mentioned above, everything in .NET is a class which is derived from the Object class. All classes written in a .NET aware language can reuse the functionality that is implemented by their predecessor/parent classes through inheritance. Moreover, a class written in C# can inherit the functionality of a class written in VB.NET and a third class written in .NET aware PERL can inherit the functionality of both previous classes.
Polymorphism .NET Framework allows derived classes to override the implementation and behavior inherited from the base class. Polymorphism like Inheritance works across different .NET aware languages. For example a child class written in C# can override the virtual methods of an abstract base class written in Managed C++.

Information/Implementation Hiding .NET Framework provides support for Information/Implementation Hiding in similar way to other OO programming languages but it also introduces a new construct, property. A .NET class besides attributes and operations also has properties associated with its attributes. Usually all attributes of a .NET class are declared private. External access to them is restricted through the property associated with it. A property is a set of two functions get and set which control access to the underlying attribute. A property can either implement the set or get functions or both. Properties might look like just “syntactic sugar”, but they are the best example of Information/Implementation Hiding in my opinion.

Genericity .NET Framework provides many important namespaces and classes that provide support for almost any application that one will develop. Few of the most important namespaces are:

System Includes basic classes that almost every program will use like Object, Char, String, Array and Exception.
System.IO Provides support foe synchronous and asynchronous IO manipulation for data stream. Also provide classes to manipulate the file-system.
System.Collections Includes a set of classes that allows management of collections of objects like ArrayList, DictonaryBase, Hashtable, Queue, and Stack.
System.Net Provides support for network programming (eg. IpAddress, Dns, Connection, HttpWebRequest.
System.Data Provides DataBase connectivity support, including XML.
System.Web.Services Web Services programming.
System.Windows.Forms Graphical User Interface support.

.NET Framework is a new approach to OO software development. It supports all common elements of the object model. Moreover, it goes one step further. Programming in .NET relieves the programmer from the constraints of a particular language constructs. Any language that abides to .NET rules can be used. The emphasis stays with the overall Object Oriented design of the system.
 

andi

Primus registratum
Re: C++ exercises

Fillimisht postuar nga bscemscs:
... C# krijon machine code ndersa Java interpretohet gjithmone nga Java VM. ...
Java dhe .NET jane shume affer njera tjetres.
C# NUK krijon NATIVE machine code
Shiko postimin e mesiperm.

Fillimisht postuar nga bscemscs:
.. C# gjithashtu te ofron mundesine te perdoresh pointers dhe manual memory-management qe Java nuk ta ofron. ...
Kete nuk e dija. Nuk besoj se eshte e vertete. Ku mund de gjej me shume informacion rreth "Pointers in .NET" ?
 

a-alket

Primus registratum
Re: C++ exercises

hartimi qe ke bere ti per lenden e OOD (?????...une thashe se OOD merret me krijim kodi)nuk eshte referenca per .NET. Une kam .NET SDK ketu dhe akses ne internet per msdn.microsoft.com dhe sa here qe kam nje dyshim shikoj ate dhe C# language specification.

C#, VB.NET, dhe cdo gjuhe qe perdor CLR ne fillim perkthehet ne MSIL. MSIL kompilohet nga JIT (just-in-time) compiler ne NATIVE code. heren e pare qe thirret nje executable kompilohet nga MSIL ne machine code nga JIT. Kur e therret per here te dyte ate executable shkohet direkt tek machine code. Pra .NET perkthen nga MSIL ne machine code dhe krijon nje executable.

Mund te perdoresh pointers nese perdor keyword: unsafe
 

andi

Primus registratum
Re: C++ exercises

Fillimisht postuar nga bscemscs:
[qb]hartimi qe ke bere ti per lenden e OOD nuk eshte referenca per .NET. [/qb]
Nuk eshte reference jane mendimet e mia, si e kuptoj une .NET.

Fillimisht postuar nga bscemscs:
[qb]C#, VB.NET, dhe cdo gjuhe qe perdor CLR ne fillim perkthehet ne MSIL. MSIL kompilohet nga JIT (just-in-time) compiler ne NATIVE code. heren e pare qe thirret nje executable kompilohet nga MSIL ne machine code nga JIT. Kur e therret per here te dyte ate executable shkohet direkt tek machine code. Pra .NET perkthen nga MSIL ne machine code dhe krijon nje executable.[/qb]
NUK ESHTE E VERTETE !
Jo heren e parre qe thiret nje executable. Heren e pare qe thiret nje metode compilohet nga JIT. Rradhen e dyte kur thiret e njeta metode nuk ka nevoje te kompilohet. Pra po e theksoj edhe nje here: JIT ka te beje me metodat/funksionet dhe jo me executables.

per refernce kliko ketu

Java ben te njejten gje

Java JIT

Java .NET
==== =====
.class .EXE (assembly)

Per te ekzekutuar programe te shkruajtur ne java te duhet JVM e installuar.
Per te ekzekutuar programe te shkruajtura me gjuhe te .NET duhet te kesh .NET framework e installuar.

Fillimisht postuar nga bscemscs:
[qb]Mund te perdoresh pointers nese perdor keyword: unsafe[/qb]
Kjo eshte e vertete. Por kjo prodhon unmanaged code qe te nxjer jashte .NET. Nuk eshte nje feature thelbesore si ne normal C++ kur te duhet te perdoresh poiterat per te bere "memory management". Ne .NET kjo behet nga "Garbage Collector".

Kjo feature eshte pakashume equivalente me JNI Java Native Interface

Si konluzion, mua me pelqen .NET. NET Framework filloi si pergjegjia e Microsoftit per Java por per mendimin tim "feature-t" qe mbeshtet e bejne ate nje platforme me te mire se Java. Nje nga te rejat me kryesore qe .NET i sjell programimit eshte pamvaresia nga gjuha qe perdor. Gjuha eshte vetem dicka mekanike (sintaksa). Fuqia programuese qendron me "Framework".
 

glamdring

Forumium praecox
Re: C++ exercises

Hej dreq, te zihen shqiptaret per programim Kjo po qe eshte gallate. Nejse, une kam studjuar C, C++ dhe Java per nja 3 vjet tani. Ne vend qe te hyj diskutimit sesi i deklaroni klasat juve, une do rekomandoja ca libra per ate qe hapi temen:

Per C:

Programming in ANSI C by Stephen G. Kochan
ISBN: 0672303396

Per C++:
C++ Primer Plus by Steven Prata

Keto jane libra te mire, sepse fillojne nga fillimi dhe mbi te gjithat shpjegojne pse diçka ndodh ne nje menyre ose ne nje menyre tjeter. Nese do te kuptosh me te vertete se çfare ndodh pasi ti jep nje komande te thjeshte keto jane libra ku duhet te fillosh.

Merret vesh me kohe pasi avancon, do te te duhen libra qe jane me specific.

Duhet te kuptosh diçka: Programim nuk eshte vetem te zgjidhesh problemin, por eshte ta besh programin tend te lehte per t'u kuptuar, te lehte per t'u ndryshuar, te shpejte (nen kuptimin qe te mos haje gjithe fuqine e CPU), platform independent (dmth te punoje nen platforma te ndryshme: Mirco$oft, Linux, etj) dhe mundesisht me pak stil.

:)

PS: Per ate qe po mundonte te hidhte poshte Java, mund t'i permend faktin e thjeshte qe Java eshte platform independent dhe falas.

PPS: Mos harroni se ka ndryshim te madh midis ANSI C dhe si compiler te ndryshem interpretojne diçka. Nga compiler me te shpejtet dhe efikaset jane ato te Linux (gcc dhe g++) qe nuk te çojne menderen siç ben Microsoft Visual C++.
 

shkopi

Primus registratum
Re: C++ exercises

Faleminderit per librat po nuk me shkruajte linkun ku mund te gjej njerin dhe tjeterin se ketu ne tirane mund ta harroj te gjej libra per c/c++.Maksimumi qe kam gjetur eshte nje liber per pascal qe praktikisht perdor te njejtat terma si anglishtja dhe shume koncepte i merr si te njohura..shkurt muabeti kot fare.... /pf/images/graemlins/blush.gif

PS: me qe kam mundesine te pyes...Cfare ndryshimi ka nje scripting language nga nje normale??..thx
 

a-alket

Primus registratum
Re: C++ exercises

Fillimisht postuar nga Glamdring:
[qb]Hej dreq, te zihen shqiptaret per programim Kjo po qe eshte gallate. Nejse, une kam studjuar C, C++ dhe Java per nja 3 vjet tani.[/qb]
ohh...dhe ti i paske nxjerre fundin C, C++, dhe Java-s dhe po kenaqesh fuke pare se si zihemi ne qe nuk ja kemi nxjerre fundin????? ktu me duhet te pranoj qe thenia e hellowen eshte e drejte.. /pf/images/graemlins/frown.gif

andi,

i gjithe programi mund te kthehet ne native code, megjithate, the framework duhet ne sistem. Nje gje e ngjashme psh eshte, kur kompilon me MFC ne VC++ 6. Mund ta perdoresh MFC si .dll ose si librari statike. nqs perdor kete te fundit, programi yt rritet disa here sepse librarite duhet te perfshihen ne executable. Nese perdor shared .dll atehere programi del disa here me i vogel sepse librarite nuk perfshihen ne kompilim dhe supozohet qe .dll qe do perdore programi jane te pranishme ne sistemin ku do perdoret programi.

Edhe mua me pelqen qe mund te perdoresh shume gjuhe per te programuar .NET. Ne kete kohe, ka perpjekje per te portuar .NET ne linux dhe kane ecur shume perpara.

mua thjesht me pelqen .NET. Psh, shume kod eshte i njejte kur programon per web ose per programe windows (web forms vs forms).
 
Top