C/C++

Член од
27 ноември 2007
Мислења
31.130
Поени од реакции
75.090
Незнам тоа...
Што е најтрагично не ни студирам јас информатика...
И типот место да ни предава ни испрати матријал од него па да правиме семинарска...
Кога им дадовме на информатичарите да гледаат сите се крстеа, една задача фати 34 страни во ворд....
И сите дадоа семинарската друг да им ја прави, само јас се будалам тука :D
 

OMGWTFBBQ

Bone for Tuna
Член од
3 февруари 2007
Мислења
8.802
Поени од реакции
4.420
Што е најтрагично не ни студирам јас информатика...
И типот место да ни предава ни испрати матријал од него па да правиме семинарска...
Кога им дадовме на информатичарите да гледаат сите се крстеа, една задача фати 34 страни во ворд....
И сите дадоа семинарската друг да им ја прави, само јас се будалам тука :D
Еве се надевам ќе ти помогне ова
 
Член од
27 ноември 2007
Мислења
31.130
Поени од реакции
75.090
Код:
#include <iostream>
using namespace std;
class Podatoci
{
    private:
        char *prezime;
        int *poeni, *skokovi, *asistencii,*BrNaUtakmici;
    public:
        friend class Lista;
        Podatoci(){};
        Podatoci(int x)
        {
            int i;
            BrNaUtakmici=new int;
            *BrNaUtakmici=x;
            if(x>0)
            {
                int BrNaBukvi;
                char t[100];
                for(int i=0;i<100;i++)
                {
                    t[i]='*';
                }
                cout<<"Vnesi go prezimeto na kosarkarot"<<endl;
                cin>>t;
                i=0;
                while(t[i]!='*')
                {
                    i++;
                };
                BrNaBukvi=i;
                prezime=new char[i];
                for(i=0;i<BrNaBukvi;i++)
                {
                    prezime[i]=t[i];
                };
                poeni=new int[*BrNaUtakmici];
                skokovi=new int[*BrNaUtakmici];
                asistencii=new int[*BrNaUtakmici];
                for(int i=1;i<=*BrNaUtakmici;i++)
                {
                    cout<<"Kolku poeni dal kosarkarot vo "<<i<<"-tata utakmica"<<endl;
                    cin>>poeni[i];
                    cout<<"Kolku skoka imal vo "<<i<<"-tata utakmica"<<endl;
                    cin>>skokovi[i];
                    cout<<"Kolku asistencii napravil vo"<<i<<"-tata utakmica"<<endl;
                    cin>>asistencii[i];
                };

            }
            else
            {
                prezime=new char[100];
                poeni=new int;
                skokovi=new int;
                asistencii=new int;
                cout<<"Brojot na utakmici treba da bide pozitiven"<<endl;
            };
        };
        Podatoci(Podatoci *X)
        {
            BrNaUtakmici=new int;
            *BrNaUtakmici=*X->BrNaUtakmici;
            if(*X->BrNaUtakmici>0)
            {
                int i;
                prezime=new char[100];
                poeni=new int[*BrNaUtakmici];
                asistencii=new int[*BrNaUtakmici];
                skokovi=new int[*BrNaUtakmici];
                for(i=0;i<=*BrNaUtakmici;i++)
                {
                    prezime=X->prezime;
                    poeni[i]=X->poeni[i];
                    asistencii[i]=X->asistencii[i];
                    skokovi[i]=X->skokovi[i];
                };
            }
            else
            {
                prezime=new char[100];
                poeni=new int[*BrNaUtakmici];
                skokovi=new int[*BrNaUtakmici];
                asistencii=new int[*BrNaUtakmici];
            };
        };
        void pecati()
        {
            if(*BrNaUtakmici>0)
            {
                for(int i=1;i<=*BrNaUtakmici;i++)
                {
                    cout<<"Igracot "<<prezime<<" dal "<<poeni[i]<<" poeni, imal "<<skokovi[i]<<" skoka i "<<asistencii[i]<<" asistencii vo "<<i<<"-ata utakmica"<<endl;
                };
            }
            else
            {
                cout<<"Brojot na utakmici treba da bide pogolem od nula"<<endl;
            };
        };
};
class Lista
{
private:
    Podatoci *A;
    int *BrNaIgraci,BrNaUtakmici;
public:
    Lista(){};
    Lista(int m)
    {
        int i;
        BrNaIgraci=new int;
        *BrNaIgraci=m;
        if(m>0)
        {
            cout<<"Broj na utakmici"<<endl;
            cin>>BrNaUtakmici;
            for(i=1;i<=*BrNaIgraci;i++)
            {
                A[i]=new Podatoci(BrNaUtakmici);
            };
        }
        else
        {
            BrNaIgraci=new int;
            cout<<"Brojot na igraci treba da bide pozitiven"<<endl;
        };
    };
 
    void pecati1()
    {
        int i;
        if(*BrNaIgraci>0)
        {
            for(i=1;i<=*BrNaIgraci;i++)
            {
                A[i].pecati();
            };
        }
        else
        {
            cout<<"Brojot na igraci treba da e pozitiven"<<endl;
        };
    };
};
void main()
        {
            int n;
            Podatoci *A;
            cout<<"Vnesi go brojot na utakmici"<<endl;
            cin>>n;
            A=new Podatoci(n);
            A->pecati();
            int c;
            Lista *B;
            cout<<"Vnesi go brojot na igraci"<<endl;
            cin>>c;
            B=new Lista(c);
            B->pecati1();
        };
Пробувам нешто цело време, и заглавувам матер му ебам. Ај ако може некој нека помогне ќе му бидам вечно благодарен :D
Се си е океј се додека не почне да ги работи листите. Т.е. сакам да внесам повеќе податоци, ама прво внесуваш еден играч, и потоа неможе да премине на следниот. Сигурно неможе да успее и да ги печати.
Пошто ја правам онака од ракав, ваљда имам некоја грешка кај вториот конструктор од класата Листа...
 
Член од
27 ноември 2007
Мислења
31.130
Поени од реакции
75.090
Дај бе барем нека го проба некоја ова што го имам напишано. Пошто мислам дека ми јавува некој ерор кој се средува со бришење на неркој фајл.
 
A

apidrone

Гостин
Не сфаќам како може со int*... int е за целобројни вредности, не сум знаел дека преку него може и со покажувачи... И што значи тоа new int?
 
Член од
27 ноември 2007
Мислења
31.130
Поени од реакции
75.090
Не сфаќам како може со int*... int е за целобројни вредности, не сум знаел дека преку него може и со покажувачи... И што значи тоа new int?
Незнам да ти објаснам, пошто не учиме баш исто на математика и информатика, гледав од повеќе примери и си комбинирав нешто :D
Тоа е ваљда за нешто да се ослободи место, врска немам...
Иначе во Visual Studio 2010 е работено, може грешам али мислам дека е соодветно за темава или не?:p
 

Toneh

is a turtle
Член од
21 август 2005
Мислења
5.510
Поени од реакции
907
Не сфаќам како може со int*... int е за целобројни вредности, не сум знаел дека преку него може и со покажувачи... И што значи тоа new int?
Динамична алокација на меморија ти е тоа.
 
Член од
16 март 2008
Мислења
8
Поени од реакции
0
ми треба мала помош за мејнот на следнава програма.. ако може некој да напише за да видам како треба, пошо пробав на разни начини и никако не ми успеа..
Код:
#include <iostream>
#include <cstring>
using namespace std;

class Sportist  {
    private:
      char *ime;
      int brdres;
    public:
      Sportist(char *i='\0', int br=10)
      {
        ime=new char[strlen(i)+1];
        strcpy(ime,i);
        brdres=br;
      }
      ~Sportist(){delete [] ime;}

      char *getime(){return ime;}
      int getbrdres(){return brdres;}

      virtual void print()
      {
        cout << "Ime: " << ime << endl;
        cout << "Broj na dres: " << brdres << endl;
      }
      void setime(char *i)
      {
        delete [] ime;
        ime=new char[strlen(i)+1];
        strcpy(ime,i);
      }
      void setbrdres(int br)
      {
        brdres=br;
      }

};

class Odbojkar : public Sportist  {
    private:
      int pozicija;
      bool kapiten;
    public:
      Odbojkar(char *i='\0', int br=10, int p=1, bool k=true) : Sportist(i,br)
      {
        if(p>0 && p<=6)
        {
          pozicija=p;
        }
        else
          cout << "Ne postoi takva pozicija" << endl;

        kapiten=k;
      }
      ~Odbojkar(){}

      int getpozicija(){return pozicija;}
      bool getkapiten(){return kapiten;}

      void print()
      {
        Sportist::print();
        cout << "Pozicija: " << pozicija << endl;
        if(kapiten==true)
        {
          cout << "Kapiten" << endl;
        }
        else
          cout << "Ne e kapiten" << endl;
      }

      bool operator==(Odbojkar& a)
      {
        return (getbrdres()==a.getbrdres());
      }
      void setpozicija(int p)
      {
        pozicija=p;
      }
      void setkapiten(bool k)
      {
        kapiten=k;
      }

};

class OdbojkarskiTim  {
    private:
      char *ime;
      Odbojkar *a;
      int brodbojkari;
    public:
      OdbojkarskiTim(){}
      OdbojkarskiTim(char *i, Odbojkar *a1, int br)
      {
        ime=new char[strlen(i)+1];
        strcpy(ime,i);
        a=new Odbojkar[brodbojkari];
        for(int i=0;i<br;i++)
        {
          a[i]=a1[i];
        }
        brodbojkari=br;
      }
      ~OdbojkarskiTim()
      {
        delete [] ime;
        delete [] a;
      }

      void finalprint()
      {
          cout << "Ime na timot: " << ime << endl;
          cout << "Broj na odbojkari vo timot: " << brodbojkari << endl;
          cout << " ----------------------------------------------" << endl;
          for(int i=0;i<brodbojkari;i++)
          {
            a[i].print();
          }
      }
};

int main()
{
  return 0;
}
 
A

apidrone

Гостин
Динамична алокација на меморија ти е тоа.
Знам дека може поле од знаци да се алоцира динамички (што има и поише логика), зошто некој би праел такво нешто за целобројна вредност?!
 

Toneh

is a turtle
Член од
21 август 2005
Мислења
5.510
Поени од реакции
907
Знам дека може поле од знаци да се алоцира динамички (што има и поише логика), зошто некој би праел такво нешто за целобројна вредност?!
Затоа што ако одредиш поле од int вредности, тоа ќе ти биде фиксна локација во меморијата, воедно и неменлива, од аспект на големина, додека пак ако го направиш со динамичка алокација на меморија, ќе можеш да си играш таквото со полето како сакаш.
 

GreenRoot

^Зелен^
Член од
20 јули 2011
Мислења
2.614
Поени од реакции
2.236
ОФ топик:
Ке може некој да постира линк каде да го спуштам C++
 

Kajgana Shop

На врв Bottom