Нужны программы на С++

Тема в разделе "Другие языки", создана пользователем z3rg, 6 мар 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. z3rg

    z3rg

    Регистр.:
    2 фев 2007
    Сообщения:
    731
    Симпатии:
    336
    У кого есть, проги на визул с++ по наледование, перегрузке операторов, вобшем с этой темы

    такова типа, тоесть заумное не надо
    Код:
    # include <iostream.h>
    # include <string.h>
    # include <iomanip.h>
    # include <conio.h>
    
    class massiv
    {
    int **mas;
    int n,m;
    public:
    massiv();
    ~massiv();
    
    void summ();
    };
    
    massiv::massiv()
    {
    cout <<"vvedite chislo strok"<<endl;
    cin>>n;
    cout <<"vvedite chislo stolbcov"<<endl;
    cin>>m;
    
    mas=new int *[m];
    for(int i=0;i<m;i++){
    	mas[i]=new int[n];}
    
    cout <<"vvedite massiv"<<endl;
    for(int j=0;j<n;j++){
    	for(int i=0;i<m;i++){
    		cin >>mas[i][j];
    	}
    }
    
    }
    massiv::~massiv()
    {
    	delete(mas);
    }
    
    void massiv::summ()
    {
    int *rez,k,sum;
    rez=new int[n];
    
    for(int j=0;j<n;j++){
    	sum=0;k=0;
    	for(int i=0;i<m;i++){
    	  if(k==0)
        {
        if(mas[i][j]<0){ k=1; }
        }
    	  else { sum=sum+mas[i][j]; }
    
    	}
    
      rez[j]=sum;
      cout<<"rezultat"<<rez[j]<<endl;
    }
    
    }
    int main()
    {
    massiv as;
    as.summ();
    getch();
    return 0;
    }
     
  2. tonsils

    tonsils Создатель

    Регистр.:
    2 янв 2008
    Сообщения:
    47
    Симпатии:
    20
  3. z3rg

    z3rg

    Регистр.:
    2 фев 2007
    Сообщения:
    731
    Симпатии:
    336
    Сначала прочитай название темы

    //идиотизм
     
  4. Derag

    Derag

    Регистр.:
    9 ноя 2008
    Сообщения:
    218
    Симпатии:
    44
    Возможно тебе нужно "исходный код из книжек по программированию". Так вот, скачай книжки с исходниками. Ну например "C++ за 24 часа". Возможно, в той, которую тебе посоветовали выше - тоже есть.
     
  5. z3rg

    z3rg

    Регистр.:
    2 фев 2007
    Сообщения:
    731
    Симпатии:
    336
    Помоему в теме есно написано "Нужны программы на С++", если нету то ненадо писать свои гениальные идеи.
     
  6. Derag

    Derag

    Регистр.:
    9 ноя 2008
    Сообщения:
    218
    Симпатии:
    44
    z3rg, какие программы? ты сам не в курсе чего тебе надо!
    То что ты предоставил, в качестве примера есть то же самое что я тебе написал!
     
  7. z3rg

    z3rg

    Регистр.:
    2 фев 2007
    Сообщения:
    731
    Симпатии:
    336
    Я так понимаю, что ты не понимаешь что если в теме написано "нужны программы на с++" или исходники, если тебе так будет понятнее, то это не одно и тоже что "нужен совет где взять исходники на с ++".

    // это я чтоб ввести в курс дела тебя
     
  8. semakos

    semakos Постоялец

    Регистр.:
    26 окт 2008
    Сообщения:
    63
    Симпатии:
    14
    Если тема еще жива мне вот интересно:
    1. где в примере автора наследование или перегрузка операторов?
    2. какого типа нужны программы? вообще все, где есть слово class или operator? :)
     
  9. z3rg

    z3rg

    Регистр.:
    2 фев 2007
    Сообщения:
    731
    Симпатии:
    336
    тамж написано с этой темы, тоесть наследование, перегрузка операторов, френды, виртуальные функции, зис ... итд, эт задачка тож с этой темы, тот кто учил должен быть в курсе )

    а степень сложности как в 1 посте, если есть вылаживайте мну будет очРад :)
     
  10. semakos

    semakos Постоялец

    Регистр.:
    26 окт 2008
    Сообщения:
    63
    Симпатии:
    14
    Вот нашел лабораторную из своего института, древнюю:). Сложность минимальная, правда она под ДОС, с соответствующим переходом в графический режим.:)

    Код:
    #include <graphics.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    
    class TPoint{
       public:
          int x,y;
          virtual void show();
          virtual void hide();
          void move(int dx,int dy);
          TPoint(int,int);
    };
    class TCircle:public TPoint{
       public:
          int d;
          virtual void show();
          virtual void hide();
          TCircle(int,int,int);
    };
    class TRectangle:public TCircle{
       public:
          virtual void show();
          virtual void hide();
          TRectangle(int,int,int);
    };
    class TDiam:public TRectangle{
       public:
          virtual void show();
          virtual void hide();
          void diam(int);
          TDiam(int,int,int);
    };
    TPoint::TPoint(int dx,int dy)
    {
     x=dx;
     y=dy;
    }
    void TPoint::move(int dx,int dy){
              hide();
              x+=dx;
              y+=dy;
              show();
     }
    void TPoint::show(){
              putpixel(x,y,15);
    }
    void TPoint::hide(){
              putpixel(x,y,0);
    }
    TCircle::TCircle(int dx,int dy,int dd):TPoint(dx,dy)
    {
     x=dx;
     y=dy;
     d=dd;
    }
    void TCircle::show(){
              circle(x,y,d);
    }
    void TCircle::hide(){
              setcolor(0);
              circle(x,y,d);
              setcolor(15);
    }
    TRectangle::TRectangle(int dx,int dy,int dd):TCircle(dx,dy,dd)
    {
     x=dx;
     y=dy;
     d=dd;
    }
    void TRectangle::show(){
              rectangle(x-d,y-d,x+d,y+d);
    }
    void TRectangle::hide(){
              setcolor(0);
              rectangle(x-d,y-d,x+d,y+d);
              setcolor(15);
    }
    void TDiam::diam(int i){
              if(i==-1){
              if(d<1) return;
              d--;
              }
              if(i==1)  d++;
    }
    TDiam::TDiam(int dx,int dy,int dd):TRectangle(dx,dy,dd)
    {
     x=dx;
     y=dy;
     d=dd;
    }
    void TDiam::show(){
              circle(x,y,d);
              rectangle(x-d,y-d,x+d,y+d);
    }
    void TDiam::hide(){
              setcolor(0);
              circle(x,y,d);
              rectangle(x-d,y-d,x+d,y+d);
              setcolor(15);
    }
    
    void main()
    {
       TPoint* Po=new TPoint(200,300);
       TCircle* Cir=new TCircle(200,300,20);
       TRectangle* Rec=new TRectangle(200,300,20);
       TDiam* Diam=new TDiam(200,300,20);;
       int gdriver = DETECT, gmode, errorcode,key;
       initgraph(&gdriver, &gmode, "");
       errorcode = graphresult();
       if (errorcode != grOk)
       {
          printf("Graphics error: %s\n", grapherrormsg(errorcode));
          printf("Press any key to halt:");
          getch();
          exit(1);
       }
       Po->show();Cir->show();Rec->show();
       while(key!=27){
            key=getch();
            if(key==80){
               Po->move(0,1);
               Cir->move(0,1);
               Rec->move(0,1);
            }
            if(key==72){
               Po->move(0,-1);
               Cir->move(0,-1);
               Rec->move(0,-1);
            }
            if(key==77){
               Po->move(1,0);
               Cir->move(1,0);
               Rec->move(1,0);
            }
            if(key==75){
               Po->move(-1,0);
               Cir->move(-1,0);
               Rec->move(-1,0);
            }
            if(key==13){
               do{
                     Diam->x=Rec->x;Diam->y=Rec->y;
                     Cir->d=Diam->d;Rec->d=Diam->d;
                     key=getch();
                     if(key==77){
                        Diam->hide();
                        Diam->diam(-1);
                        Diam->show();
                     }
                     if(key==75){
                        Diam->hide();
                        Diam->diam(1);
                        Diam->show();
                     }
                     if(key==27) break;
               }while(key!=13);
            }
       }
       closegraph();
       delete(Po);
       delete(Cir);
       delete(Rec);
       delete(Diam);
    }
    
    
     
    z3rg нравится это.
Статус темы:
Закрыта.