Pa ako hoces dinamicki samo promenis u ovo:
Kod:
pravougaonik *obj = new pravougaonik;
obj->set(a,b);
p = obj->povrs(a,b);
delete obj;
Donji video pokazuje kako da instalirate aplikaciju na početni ekran svog uređaja.
Napomena: This feature may not be available in some browsers.
pravougaonik *obj = new pravougaonik;
obj->set(a,b);
p = obj->povrs(a,b);
delete obj;
evo da pokrenem novu temu za sve nas koji radimo u c++
za pocetak evo jedan prost zadacic
1 napisati program koji racuna koren celih brojeva i resenje izbacuje u celom broju
ovo je veoma lako jer ne treba racunati decimalne vec samo cele
Resenje
Kod:/*Ovaj program racuna koren celih brojeva i rezultat ispisuje u obliku celog broja takodje*/ #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char** argv) { int Broj,Brojac; int Rezultat; cout << "Unesite ceo broj "; cin >> Broj; for (Brojac=0; Brojac<=Broj; Brojac++) { if (Brojac*Brojac==Broj) { Rezultat=Brojac; } } cout << Rezultat << endl; return 0; }
kasnije stizu i neki tutoriali za sve one koji pocinju da uce ovaj veoma odlican jezik
mali pozdrav
... ..."veoma odličan jezik"....ahahahahah
Написати на језику C++ класу за времена представљена помоћу броја часова, минута и секун-
ди. Предвидети:
• стварање времена на основу броја часова, минута и секунди (подразумевано (0,0,0)),
• дохватање делова времена,
• израчунавање збира два времена,
• упоређивање два времена (резултат је набрајање са могућим вредностима PRE, ISTO и
POSLE, зависно од односа упоређиваних времена),
• читање времена с главног улаза, и
• писање времена на главном излазу.
Написати на језику C++ програм који прочита динамички низ времена, израчуна збир нај-
мањег и највећег елемента низа, испише резултат на главном излазу и понавља претходне ко-
раке све док за дужину низа не прочита недозвољену вредност.
// class header file
#ifndef TIME_H
#define TIME_H
#include <iostream>
//using namespace std; not used, we use std::istream and std::ostream instead istream and ostream
class Time {
int sec;
public:
enum Order { BEFORE, SAME, AFTER };
Time (int _h = 0, int _m = 0, int _s = 0) {
sec = _h * 3600 + _m * 60 + _s;
};
Time (const Time &t) {
sec = t.sec;
}
int getHour () const { return sec / 3600; }
int getMinute () const { return sec / 60 % 60; }
int getSecond () const { return sec % 60; }
friend Time & operator+ (const Time &a, const Time &b);
friend Order compare (const Time &a, const Time &b);
friend std::ostream & operator<< (std::ostream &os, const Time &v) {
os << v.getHour () << ':' << v.getMinute () << ':' << v.getSecond ();
return os;
}
friend std::istream & operator>> (std::istream &is, Time &v) {
int h, m, s;
is >> h >> m >> s;
v.sec = h * 3600 + m * 60 + s;
return is;
}
};
#endif
#include "Time.h"
using namespace std;
Time & operator+ (const Time &a, const Time &b) {
static Time &k = Time ();
k.sec = a.sec + b.sec;
return k;
}
Time::Order compare (const Time &a, const Time &b) {
if (a.sec < b.sec) return a.BEFORE;
else if (a.sec > b.sec) return a.AFTER;
else return a.SAME;
}
#include "Time.h"
using namespace std;
void main () {
while (true) {
cout << "How many time elements? ";
int n; cin >> n;
if (n < 1) break;
Time *a = new Time[n];
for (int i = 0; i < n; i++) cin >> a[i];
Time min = Time (a[0]); Time max = Time (a[0]);
for (int i = 1; i < n; i++)
if (compare (a[i], min) == Time::BEFORE) min = Time (a[i]);
else if (compare (a[i], max) == Time::AFTER) max = Time (a[i]);
Time k = Time ();
k = min + max;
cout << "\nSum of shortest and longest time: " << k << endl;
}
}
Time::Order compare (const Time &a, const Time &b) {
if (a.sec < b.sec) return a.BEFORE;
else if (a.sec > b.sec) return a.AFTER;
else return a.SAME;
}
E hvala bas sam trazio ovako nesto...doduse koliko sam provalio ovo je vise u pitanju operator overloading sto je super jer pre i nisam video neki razlog da se to primeni...jedini deo koda koj me malo buni je ovaj:
Kod:Time::Order compare (const Time &a, const Time &b) { if (a.sec < b.sec) return a.BEFORE; else if (a.sec > b.sec) return a.AFTER; else return a.SAME; }
enum Order je dio klase, a ne objekat klase. Objekat klase je konkretan skup svih elemenata prema definiciji klase, dok je enumeracija dio definicije te klase. Time::Order služi da kažemo koja je povratna vrijednost metode (funkcije klase) compare.
Sad sta je compare?Da li je to ustvari objekat enum Order..posto prvi put vidim da se enum na taj nacin koristi..
Dobro ok je sad...samo nisam ja mislio da je enum Order objekat te klase(naravno da nije) vec sam mislio da je to compare objekat za pristupanje vrednosti u Orderu
znaci npr.
enum Order {BEFORE,SAME,AFTER};
i sad da bih pristupili tome
Order compare;
compare.BEFORE;
Sad koliko sam ja shvatio iz tvog objašnjenja compare() je ustvari metoda/funkcija čiji clanovi mogu da pristupe enuma Order.
#include <QApplication>
#include <QWidget>
int main()
{
QApplication app;
QWidget form1;
form1.show();
return app.exec();
}
ma znam ja toNemoj me Stefane pogrešno shvatiti, ali prvo treba savladati rad sa nizovima, listama, klasama, preklapanjem operatora, izvedenim klasama, template-ima, standardnom bibliotekom, rad sa fajlovima, pa tek onda preći na neko grafičko okruženje. Nemoj previše da žuriš, ako želiš kako treba savladati programiranje. :-/
Написати на језику C++ следеће класе:
• Једнакокраки троугао се задаје основицом a и краком b (подразумевано 1, 1). Могу да се
дохвате димензије троугла (две методе), да се израчуна површина троугла
( P = a * sqrt (4b[SUP]2[/SUP] − a[SUP]2[/SUP]) / 4 ), да се испита да ли два троугла имају једнаке димензије (tro1==
tro2), да се испита да ли је површина једног трoугла мања од друге (tro1<tro2), да се
троугао прочита из улазног тока (ut>>tro) и да се троугао упише у излазни ток
(it<<tro) у облику (a,b).
• Листа једнакокраких троуглова се ствара празна после чега се троуглови додају један по
један на крај листе (lst+=tro). Може да се пронађе најмањи троугао у листи и да се
листа упише у излазни ток (it<<lst) у облику [tro1,tro2,…].
Написати на језику C++ програм који прочита с главног улаза број троуглова, читајући троу-
глове с главног улаза направи листу, испише направљену листу на главном излазу, проналази и
испише на главном излазу најмањи троугао у листи.
#include <iostream>
using namespace std;
#ifndef TROUGAO_H
#define TROUGAO_H
class Trougao {
double a, b;
public:
Trougao (double osnovica = 1, double krak = 1);
double uzmiOsnovicu () const { return a; }
double uzmiKrak () const { return b; }
double Povrsina () const;
Trougao& operator= (const Trougao& t);
friend Trougao operator+ (const Trougao& a, const Trougao& b);
friend bool operator== (const Trougao& a, const Trougao& b);
friend bool operator< (const Trougao& a, const Trougao& b);
friend ostream& operator<< (ostream& it, const Trougao& t);
friend istream& operator>> (istream& ut, Trougao& t);
};
#endif
#include "trougao.h"
#include <iostream>
#include <cmath>
using namespace std;
Trougao::Trougao (double osnovica, double krak) {
if (osnovica <= 0 || krak <= 0 || osnovica >= 2*krak) exit (1);
a = osnovica; b = krak;
}
double Trougao::Povrsina () const {
return a * sqrt(4*b*b - a*a) / 4;
}
Trougao& Trougao::operator= (const Trougao& t) {
this->a = t.a; this->b = t.b;
return *this;
}
Trougao operator+ (const Trougao& a, const Trougao& b) {
Trougao temp = Trougao (a.a + b.a, a.b + b.b);
return temp;
}
bool operator== (const Trougao& a, const Trougao& b) {
return (a.a == b.a && a.b == b.b);
}
bool operator< (const Trougao& a, const Trougao& b) {
return (a.Povrsina () < b.Povrsina ());
}
ostream& operator<< (ostream& it, const Trougao& t) {
return it << '(' << t.a << ',' << t.b << ')';
}
istream& operator>> (istream& ut, Trougao& t) {
double osnovica, krak; cin >> osnovica >> krak;
Trougao temp = Trougao (osnovica, krak);
t = temp;
return ut;
}
#include "trougao.h"
#include <iostream>
using namespace std;
#ifndef LISTA_H
#define LISTA_H
class Lista {
int kap, duz;
Trougao *a;
public:
explicit Lista (int k = 10);
~Lista () { delete [] a; }
int uzmiDuzinu () const { return duz; }
int uzmiKapacitet () const { return kap; }
Trougao& uzmiElement (int i) const { return a[i]; }
Lista& operator+= (const Trougao& t);
Trougao minTrougao () const;
friend ostream& operator<< (ostream& it, const Lista& l);
};
#endif
#include "lista.h"
#include <iostream>
using namespace std;
Lista::Lista (int k) {
a = new Trougao[kap = k]; duz = 0;
}
Lista& Lista::operator+= (const Trougao& t) {
if (duz == kap) exit (1);
a[duz++] = t;
return *this;
}
Trougao Lista::minTrougao () const {
if (a == 0) exit (1);
Trougao *m = &a[0];
for (int i = 1; i < duz; i++)
if (a[i] < *m) m = &a[i];
return *m;
}
ostream& operator<< (ostream& it, const Lista& l) {
cout << '[';
for (int i = 0; i < l.uzmiDuzinu () - 1; i++)
cout << l.uzmiElement (i) << ',';
cout << l.uzmiElement (l.uzmiDuzinu () - 1) << ']' << endl;
return it;
}
#include "trougao.h"
#include "lista.h"
#include <iostream>
#include <cstdlib>
using namespace std;
int main () {
Trougao t;
cout << "Unesite broj trouglova: ";
int n; cin >> n;
Lista lst = Lista (n);
for (int i = 0; i < lst.uzmiKapacitet (); i++) {
cin >> t;
lst += t;
}
//t = lst.uzmiElement (0) + lst.uzmiElement (1) + lst.uzmiElement (2);
t = lst.minTrougao ();
cout << lst << endl;
cout << "Najmanji trougao je: " << t << endl << endl;
system ("PAUSE");
}
int **pNeki; //U cemu se razlikuje od obicnog pointera?
ne vidim ja upotrebu za pointere uopste xD )) a ne jos pokaz. na pokaz. xD
u C# to ne terba veruj mi
u C# to ne terba veruj mi
E sad ovo je moje mišljenje u kojem ne tvrdim da je ni jedan jezik bolji ni lošji oba su ok...A ti 2 pac si krajnje ne ozb. prvo prouci jezike kako treba pre nego sto ih pljujes ili hvališ...Nije mi jasno kako mozes da komentarises c++ ako neznas sta su pointeri i reference i nijedan aspekt oo u njemu ako je nesto lakse neznaci da je momentalno bolje.