12 Ocak 2016 Salı

Veri Yapıları 1 // C++ Vektörler Ardışık diziler

*************Main *****************

#include "Vektor.h"
#include "Yolcular.h"
#include "Otobusler.h"

#include
#include
#include "conio.h"
#include "string.h"
#include

using namespace std;

Vektor *oto1 = new Vektor();
Vektor *oto2 = new Vektor();

void dosyalama(){
ifstream yolculisteoku("Yolcular.txt");
int x;
int koltukno;
        string ad;
while(!yolculisteoku.eof()){
for(x=1;x<=10;x++){
yolculisteoku>>ad>>koltukno;
oto1->insert(koltukno-1,ad);
}
for(x=11;x<21 p="" x=""> yolculisteoku&gt;&gt;ad&gt;&gt;koltukno;
oto2-&gt;insert(koltukno-1,ad);
}
}
yolculisteoku.close();
}

int main() {
string temp;
string tut;
string *tutpt;
string *tutpt2;
setlocale(LC_ALL,"Turkish");
dosyalama();
cout&lt;&lt;"Yolcu Değişimi olmadan önceki hali :"&lt;cout&lt;&lt;"1.Otobüs:"&lt;for(int y=0;y<10 p="" y=""> cout&lt;&lt;"("&lt;yolcular[y]&lt;&lt;","&lt;yolcular+y&lt;&lt;")"&lt;&lt;"-";
}
cout&lt;cout&lt;&lt;"2.Otobüs"&lt;for(int y=0;y<10 p="" y=""> cout&lt;&lt;"("&lt;yolcular[y]&lt;&lt;","&lt;yolcular+y&lt;&lt;")"&lt;&lt;"-";
}
cout&lt;cout&lt;&lt;"*******************************"&lt;cout&lt;&lt;"Değişim olduktan sonraki yolcu hali :"&lt;cout&lt;&lt;"1.Otobüs:"&lt;
tutpt=oto1-&gt;yolcular;
oto1-&gt;yolcular=oto2-&gt;yolcular;
oto2-&gt;yolcular=tutpt;

for(int y=0;y<10 p="" y=""> cout&lt;&lt;"("&lt;yolcular[y]&lt;&lt;","&lt;yolcular+y&lt;&lt;")"&lt;&lt;"-";
}
cout&lt;cout&lt;&lt;"2.otobüs"&lt;for(int y=0;y<10 p="" y=""> cout&lt;&lt;"("&lt;yolcular[y]&lt;&lt;","&lt;yolcular+y&lt;&lt;")"&lt;&lt;"-";
}
cout&lt;
return 0;
}
*******************************************
**Kaynak Dosyalar **
***********************
#include "Yolcular.h"
#include "Vektor.h"
#include "Otobusler.h"
********************************************
**Başlık Dosyaları**
***********************
#ifndef OTOBUSLER_H
#define OTOBUSLER_H
#include "Vektor.h"

class otobusler{
private:
yolcuNesne *oto1;
yolcuNesne *oto2;
int koltuk;
public:
otobusler(string *yolcuAdi[boyut],int koltukno ){
    oto1= new yolcuNesne(yolcuAdi[boyut]);
    oto2=new yolcuNesne(yolcuAdi[boyut]);
    koltuk=koltukno;
}
~otobusler(){
delete oto1;
delete oto2;
}
};
#endif
*****************************
#ifndef VEKTOR_H
#define VEKTOR_H

#include
#define boyut 10
#include "Yolcular.h"

using namespace std;


template
class Vektor{
//friend dosyalama(Vektor);
public :
yolcuNesne *yolcular;
int yolcuSayisi;
public:
Vektor()
{
yolcuSayisi = 10;
yolcular = new yolcuNesne[boyut];

}
Vektor(const Vektor &amp;sag) // Copy constructor
{
yolcuSayisi = 0;
yolcular = new yolcuNesne[boyut];
for(int i=0;i insert(i,sag.at(i));
}
}
int size() const
{
return yolcuSayisi;
}
bool isEmpty() const
{
return size() == 0;
}
const yolcuNesne&amp; at(int i) //const throw(Tasma)
{
if(i<0 i="">=yolcuSayisi) //throw Tasma("indeks sinirlar disinda!"); 
return yolcular[i];
}
void erase(int i)// throw(Tasma)
{
if(i<0 i="">=yolcuSayisi)// throw Tasma("indeks sinirlar disinda!"); 
for(int j=i+1;j yolcuSayisi--;
}
void insert(int i,const yolcuNesne&amp; yeni)// throw(Tasma)
{
if(i<0 i="">yolcuSayisi) //throw Tasma("indeks sinirlar disinda!"); 
for(int j=yolcuSayisi-1;j&gt;=i;j--) yolcular[j + 1] = yolcular[j];
yolcular[i] = yeni;
yolcuSayisi++;
}
void set(int i,const yolcuNesne&amp; yeni) //throw(Tasma)
{
if(i<0 i="">=yolcuSayisi) //throw Tasma("indeks sinirlar disinda!");
yolcular[i] = yeni;
}
~Vektor()
{
delete [] yolcular;
}

};
#endif
************************************
#ifndef YOLCULAR_H
#define YOLCULAR_H
#define boyut 10
#include
using namespace std;

class yolcuNesne{
private:
string yolcular;
    public:
    yolcuNesne(string yolcu[boyut]):yolcular(yolcu[boyut]){}
   
};
#endif
****************************************
Make File
****
hepsi: compile debug
compile:
g++ -I ./include/ -o ./lib/Vektor.o -c ./src/Vektor.cpp
g++ -I ./include/ -o ./lib/Yolcular.o -c ./src/Yolcular.cpp
g++ -I ./include/ -o ./lib/Otobusler.o -c ./src/Otobusler.cpp
g++ -I ./include/ -o ./bin/Test ./lib/Vektor.o ./lib/Yolcular.o ./lib/Otobusler.o ./src/Test.cpp
debug:
./bin/Test

1 yorum: