Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Mostenire la clase : Aprilie 28, 2010, 18:21:33
Scuze  Tongue codul mai clar:

Cod:
#include<iostream.h>

class cls1
{
  public: int x;
  cls1(int i=13)
   {
    x=i;
   }
};

class cls2: virtual public cls1
{
  public: cls2(int i=15)
             {
              x=i;
             }
};

class cls3: virtual public cls1
{
  public: cls3(int i=17)
             {
              x=i;
             }
};

class cls4: public cls1
{
  public: cls4(int i=19)
             {
              x=i;
             }
};

class cls5: public cls2, public cls3, public cls4
{
  public: int y;
  cls5(int i,int j) : cls4(i),cls2(j) { y=i+j; }
  cls5(cls5& ob)
   {
    y=-ob.y;
   }
};

int main()
{
  cls5 ob1(-9,3), ob2=ob1;
  cout<<ob2.y;
  return 0;
}
2  infoarena - concursuri, probleme, evaluator, articole / Informatica / Mostenire la clase : Aprilie 28, 2010, 16:44:20
Salut, am o problema cu intelegerea mostenirii la clase. Am citit despre ele pe diferite site-uri, dar daca mi-ar putea explica cineva pe exemplul de mai jos ar fi minunat  Very Happy

Care sunt constructorii care se apeleaza si in ce ordine?

Cod:
#include<iostream>
using namespace std;
class cls1
{ public: int x;
cls1(int i=13) { x=i; } };
class cls2: virtual public cls1
{ public: cls2(int i=15) { x=i; } };
class cls3: virtual public cls1
{ public: cls3(int i=17) { x=i; } };
class cls4: public cls1
{ public: cls4(int i=19) { x=i; } };
class cls5: public cls2, public cls3, public cls4
{ public: int y;
cls5(int i,int j):cls4(i),cls2(j){ y=i+j; }
cls5(cls5& ob) { y=-ob.y; }};
int main()
{ cls5 ob1(-9,3), ob2=ob1;
cout<<ob2.y;
system("pause");
return 0;
}


Tuse
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / Buton (help plz) : Mai 12, 2008, 13:33:44
Am mai jos o parte din program in care as vrea sa fac un buton sa se miste de la niste coordonate la altele. XMIJ reprezinta mijlocul ecranului pe axa Ox (getmaxx()/2) si YMIJ mijlocul pe Oy (getmaxy()/2). Si m-am gandit sa pun butonul intr-un for si sa scad din coordonata pentru axa Oy, ca sa il misc in sus...doar ca ce face el...pune butonul direct la ultima valoare a lui "i" si anume: bar(xmij-50,ymij-60-200,xmij+50,ymij-40-200); Ceva sfaturi sa il fac sa apara pe ecran pentru fiecare valoare a lui "i"??

for(i=0;i<=200;i+=10);
    {
     delay(50);
     setfillstyle(1,8);
     bar(xmij-50,ymij-60-i,xmij+50,ymij-40-i);
     setcolor(10);
     outtextxy(xmij-45,ymij-53-i,"BUTON");
    }
4  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Program in alt program : Aprilie 16, 2008, 21:54:27
Merci Stef2n. Am facut cum ai zis si a mers...eu greseam ca puneam system("p1.cpp");  Banana
5  infoarena - concursuri, probleme, evaluator, articole / Informatica / Program in alt program : Aprilie 16, 2008, 20:43:38
Cine stie cum pot sa rulez un fisier .CPP din altul?

Am incercat cu functia system(), cu execl()...ca asta am gasit pe google dar imi da numai erori.

Ms anticipat.
6  infoarena - concursuri, probleme, evaluator, articole / Informatica / Mouse : Aprilie 09, 2008, 22:29:17
Cine poate sa imi explice si mie va rog ce inseamna liniile urmatoare de program. Stiu la ce folosesc, dar nu stiu cum functioneaza:
Cod:
union REGS in,out;

void initmouse()
{
 int.x.ax=0;
 int86(51,&in,&out);
}

void showmouse()
{
 int.x.ax=1;
 int86(51,&in,&out);
}

void getcord(int &x,int &y,int &b)
{
 in.x.ax=3;
 int86(51,&in,&out);
 x=out.x.cx;
 y=out.x.dx;
 b=out.x.bx;
}
Editat de moderator: foloseste tag-ul code pentru a posta bucati de sursa.
7  infoarena - concursuri, probleme, evaluator, articole / Teme / Grafuri - grafic :D : Martie 26, 2008, 16:21:33
Trebuie sa afisez pe ecran un graf neorientat si o metoda cred k ar fi sa le asez pe un cerc, dupa care sa trasez linii intre coordonatele lor. Cum pot sa le asez pe un cerc la distante egale unu fata de celalalt?


8  infoarena - concursuri, probleme, evaluator, articole / Informatica / Butoane - grafica : Decembrie 03, 2007, 15:15:18
Ma chinui de ceva timp sa fac niste butoane in c++ si nu iese o chestie. Ele apar pe ecran si cand dau rollover cu mouseul peste ele isi schimba culoare, dar "tremura" incontinuu...probabil e de la do{....}while(); dar nu am gasit alta solutie. Uitati algoritmul

Cod:
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
#include<stdlib.h>

/***************************************************
********* MOUSE COMMANDS ***************************
***************************************************/

int xpos1,ypos1,click;
union REGS in,out;

int callmouse()
{
 in.x.ax=1;
 int86(51,&in,&out);
 return 1;
}

void mouseposi(int&xpos1,int&ypos1,int&click)
{
 in.x.ax=3;
 int86(51,&in,&out);
 click=out.x.bx;
 xpos1=out.x.cx;
 ypos1=out.x.dx;
}

void setposi(int&xpos1,int&ypos1)
{
 in.x.ax=4;
 in.x.cx=xpos1;
 in.x.dx=ypos1;
 int86(51,&in,&out);
}

int mousehide()
{
 in.x.ax=2;
 int86(51,&in,&out);
 return 1;
}

void main()
{
 int gd=DETECT,gm,x,y;
 initgraph(&gd,&gm,"C:\\TC\\BGI");
 x=getmaxx()/2;
 y=getmaxy()/2;

 setfillstyle(1,15);
 bar3d(x-50,y-28,x+50,y-8,0,0);
 bar3d(x-50,y-2,x+50,y+18,0,0);
 bar3d(x-50,y+24,x+50,y+44,0,0);
 settextstyle(11,0,7);
 setcolor(0);
 outtextxy(x-30,y-20,"keyboard");
 outtextxy(x-20,y+6,"mouse");
 outtextxy(x-15,y+32,"exit");

 callmouse();
 do{

    mouseposi(xpos1,ypos1,click);
    if(xpos1>x-50 && xpos1<x+50 && ypos1>y-28 && ypos1<y-8)
     {
      setfillstyle(1,15);
      bar3d(x-50,y-28,x+50,y-8,0,0);
      settextstyle(11,0,7);
      setcolor(0);
      outtextxy(x-30,y-20,"keyboard");
      outtextxy(x-20,y+6,"mouse");
      outtextxy(x-15,y+32,"exit");
     }
    else
     {
      setfillstyle(1,0);
      bar3d(x-50,y-28,x+50,y-8,0,0);
      settextstyle(11,0,7);
      setcolor(15);
      outtextxy(x-30,y-20,"keyboard");
      outtextxy(x-20,y+6,"mouse");
      outtextxy(x-15,y+32,"exit");
     }

   /*********************************************************
   *********************************************************/

    if(xpos1>x-50 && xpos1<x+50 && ypos1>y-2 && ypos1<y+18)
     {
      setfillstyle(1,15);
      bar3d(x-50,y-2,x+50,y+18,0,0);
      settextstyle(11,0,7);
      setcolor(0);
      outtextxy(x-30,y-20,"keyboard");
      outtextxy(x-20,y+6,"mouse");
      outtextxy(x-15,y+32,"exit");
     }
    else
     {
      setfillstyle(1,0);
      bar3d(x-50,y-2,x+50,y+18,0,0);
      settextstyle(11,0,7);
      setcolor(15);
      outtextxy(x-30,y-20,"keyboard");
      outtextxy(x-20,y+6,"mouse");
      outtextxy(x-15,y+32,"exit");
     }

   /**********************************************************
   **********************************************************/

    if(xpos1>x-50 && xpos1<x+50 && ypos1>y+24 && ypos1<y+44)
     {
      setfillstyle(1,15);
      bar3d(x-50,y+24,x+50,y+44,0,0);
      settextstyle(11,0,7);
      setcolor(0);
      outtextxy(x-30,y-20,"keyboard");
      outtextxy(x-20,y+6,"mouse");
      outtextxy(x-15,y+32,"exit");
     }
    else
     {
      setfillstyle(1,0);
      bar3d(x-50,y+24,x+50,y+44,0,0);
      settextstyle(11,0,7);
      setcolor(15);
      outtextxy(x-30,y-20,"keyboard");
      outtextxy(x-20,y+6,"mouse");
      outtextxy(x-15,y+32,"exit");
     }
   }while(click==0);
}

// editat --> foloseste [ code ] [/ code ] pentru a scrie cod pe forum
9  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Aliniere : Noiembrie 20, 2007, 17:12:49
Ms...am facut cu alinierea dupa cel mai lung cuvant si defapt asa vroia si profa.  Banana
10  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Aliniere : Noiembrie 19, 2007, 22:33:31
Wefgef imi cer scuze pentru atitudinea mea. Am inteles de ce refuzati atat de mult sa rezolvati teme dar, hint-urile parerea mea este ca pot ajuta si nici nu dau raspunsul. Imi cer scuze si celorlalti, daca s-au simtit ofensati de spusele mele.

Sper ca nu sunt prea insistent, dar in legatura cu problema, exista vreo functie care returneaza lungimea fisierului (cate caractere incap pe o linie). M-am uitat in string.h, am dat si un search pe google, tot ce am gasit...si poate merge este ceva de genul:

Cod:
void main ()
 {
  long in,sf;
  ifstream f ("C:\\text.txt");
  in=f.tellg();
  f.seekg (0, ios::end);
  sf=f.tellg();
  f.close();
  cout << "lungimea este: "<<sf-in;
}

Vreau sa stiu doar daca sunt pe drumul cel bun. Oricum sunt recunoscator pentru ai redeschis topicul. Merci wefgef
11  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Catre wefgef : Noiembrie 19, 2007, 17:58:18
Asta si este, un atac la persoana fiindca nu mi se pare normal sa inchida topicul fiindca este tema. Cred ca toti am avut probleme la teme la inceput si nici tu nu ai fi fost recunoscator daca cereai ajutor pe un FORUM DE INFORMATICA si ti se spunea foarte elegant pa, cauta ajutor in alta parte.

Si faza cu aici intram pentru performantza...puneti frumusel un scurt test la intrare ca sa nu poate intra oricine care nu este avansat in arta programarii. Uitete la alte posturi si zii daca ti se par intrebari de oameni "avansati", posturi care inca nu au fost inchise (exemplu: alt post deal meu in care intreb cum afisez un numar cu 'x' zecimale exacte).

Macar lasa topicul deschis si daca se "injoseste" cineva sa raspunda bine...daca nu il inchizi dupa o zi doua. Daca tot e simpla intrebarea...raspunde omului...el iti multumeste, e toata lumea fericita si nu se ajunge la asa ceva.



12  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Catre wefgef : Noiembrie 19, 2007, 17:14:23
Am un prieten care a venit de curand din America in Romania. S-a gandit ca o sa reuseasca sa isi faca o afacere aici, studiase istoria noastra etc si isi facuse o impresie foarte buna despre tara noastra. Pana cand a avut nevoie de ceva..parca viza..si l-au innebunit astia. L-au trimis de colo colo si nu a reusit sa faca absolut nimic. Ce a hotarat...se intoarce in America fiindca romanii nostri sunt niste incompetenti si sia schimbat total parerea. Nu mai vrea sa se intoarca. Nici nu il condamn...aparent nimeni nu are timp sa imi dea un raspuns la intrebare...dar va gasiti timp sa imi enumerati motivele pentru care nu imi dati.

Traiasca Romania!  Banana
13  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Catre wefgef : Noiembrie 19, 2007, 16:58:23
nu ma lasa mandria sa intreb proful...mai ales ca am o relatie speciala cu el
oricum sunt uimit de raspunsurile voastre...cat de greu este sa scrii un sfat...ceva de la care sa pornesc?
14  infoarena - concursuri, probleme, evaluator, articole / Teme / Catre wefgef : Noiembrie 19, 2007, 16:50:03
wefgef prin rezolvarea problemelor ne perfectionam, fie ca acestea provin din teme sau nu...si scopul infoarena cred ca acesta este: sa ii ajuti pe alti cand nu stiu, schimb de cunostiinte...asa ca te-as ruga sa nu mai inchizi post-uri asa si eventual daca stii sa imi si dai un raspuns la intrebare. Merci



15  infoarena - concursuri, probleme, evaluator, articole / Teme / Aliniere : Noiembrie 19, 2007, 15:49:32
Cum scriu un algoritm pt. alinierea la dreapta a unor cuvinte scriese intr-un fisier text.out? In limbaj c++

Ex:

pt cuvintele citite de la tastatura: gigel are mere

text.out:                                                                           gigel
                                                                                         are
                                                                                       mere

16  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Zecimale : Septembrie 06, 2007, 14:33:04
hmm..eu folosesc limbaj gen: cout, cin; nu printf, scanf. Ca sa ma lamuresc si eu cout/cin e limbaj c sau c++?

Si pot folosi printf/scanf cu libraria iostream.h?

Exista si alta medota fara printf("%.3f",nr);??
17  infoarena - concursuri, probleme, evaluator, articole / Informatica / Zecimale : Septembrie 06, 2007, 13:57:22
Cum afisez un numar cu 'x' zecimale exacte?  Confused

ex: afisati 102 cu 3 zecimale exacte: 102.000
18  infoarena - concursuri, probleme, evaluator, articole / Informatica / ASCII : Septembrie 05, 2007, 01:20:48
Cum pot sa codific un text (ex: info) in numarul de ordine din alfabet (prin intermediul codului ASCII) in C++.

ex: info o sa fie 9 14 6 15
19  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 000 A+B : Septembrie 04, 2007, 23:29:37
bai frate am rezolvat problema...si nush de ce nu merge Very Happy poate ma lamuriti voi:

#include<fstream.h>
#include<conio.h>

main()
{
 int a,b;
 cout<<"a=";cin>>a;
 cout<<"b=";cin>>b;
 ofstream f("c:\adunare.out");
 f<<"suma celor doua numere "<<a+b;
 f.close();
}
20  infoarena - concursuri, probleme, evaluator, articole / Informatica / Eroare c/c++ : August 20, 2007, 22:27:08
Am si eu o problema cu compileru de c/c++: fac un "programel" simplu gen "hello world" (la executare afiseaza pe ecran textul)
si imi da eroare ca nu am declarat functia cout. Si am dat search pe net cu eroare...nu mai stiu care e si am gasit pe un forum cum ca ar trebui sa schimb biblioteca. Gen in loc de iostream.h sa pun doar iostream. Am incercat da degeaba...si pana acum mergea perfect nu mi-a dat erori de flu asta.

Stie cineva de ce?
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines