Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

prevodjenje iz c++ u javu

[es] :: Java :: prevodjenje iz c++ u javu

[ Pregleda: 1866 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ssnnaaxx

Član broj: 83286
Poruke: 11
*.PPPoE-3971.sa.bih.net.ba.



Profil

icon prevodjenje iz c++ u javu07.06.2006. u 18:12 - pre 217 meseci
Ako neko kuzi oba PJ bio bih zahvalan kad bi preveo sljedeci kod iz c++ u javu ...

#include<conio.h>
#include <iostream.h>

struct cvor{ // struktura cvor koja sadrzi znak i dva pokazivaca
int Ime;
cvor *sljedeci;
cvor *predhodni;
};

cvor *glava = NULL; cvor *rep = NULL;

struct cvor *novicvor(int broj){ // pravi objekt
struct cvor *nuovo = new cvor;
if (nuovo == NULL)
return NULL;
else {
nuovo->Ime = broj;
return nuovo;
}

}

void dodajnakraj(struct cvor *novi){ //dodaje na vrh


if(glava == NULL) {
glava = novi;
rep = novi;
glava->sljedeci = NULL;
glava ->predhodni = NULL;
}
else {
rep ->sljedeci = novi;
novi->predhodni = rep;
rep= novi;
rep->sljedeci=NULL;
glava->predhodni = NULL;
}
}

void brisicvor(cvor *brisi) { // brise cvor sa vrha

if (glava->sljedeci == NULL) {
glava = NULL;
rep = NULL;
return;
}

struct cvor *tmp;
tmp = brisi;

if ( tmp == rep){
rep= rep -> predhodni;
rep ->sljedeci = NULL;
delete tmp;
}
}

/* Ova fukcija provjerava ispravnost zagrada:*/

void zgrda(){

cvor *pok = rep;

float lijeva = 0; /*ovo su brojaci zagrada*/
float desna = 0;
float Lijeva = 0;
float Desna = 0;
float LIJEVA = 0;
float DESNA = 0;
/* kad se zagrada otvori promjeni vrijednost u true, zatvaranjem zagrade vraca vrijednost false*/

bool prvo = false; bool Prvo = false;
while (pok!= NULL){ /*moramo proveravati za svaku vrstu zagrada, otvorenu i zatvorenu*/

if (pok->Ime=='(' ) { lijeva ++;
if (desna==0) cout<<"\n\tMale zagrade nisu dobro napisane";
prvo=false;
}

if (pok->Ime== ')' ) { desna ++;
if (prvo == true ) cout<<"\n\tMale zagrade nisu dobro napisane ";
/*znaci da se ista zagradaponovila uzastopce ponovila*/

prvo = true;

}

if (pok->Ime== '[' ) { Lijeva ++;
if (Desna==0) cout<<"\n\tSrednje zagrade nisu dobro napisane ";
if (prvo == true ) cout <<"";


}
if (pok->Ime== ']' ) { Desna ++;
if (prvo == true || Prvo == true ) cout <<"\n\tSrednje zagrade nisu dobro napisane ";
/* znaci da mala nije zatvorena ili se ista srednja ponavlja*/

}
if (pok->Ime== '{' ) { LIJEVA ++;
if (DESNA==0) cout<<"\n\tVelike zagrade nisu dobro napisane ";
}
if (pok->Ime== '}' ) { DESNA ++;
if (prvo == true || Prvo ==true ) cout <<"\n\tVelike zagrade nisu dobro napisane ";
}
brisicvor(pok);
pok = pok->predhodni; // posto je ovo stek, uzima elemente sa kraja.
}
if (lijeva == desna && Lijeva == Desna && LIJEVA == DESNA) //ovo samo provjerava da li
//svaka zagrada ima svoj par
cout << cout <<"\n\tBroj zagrada je dobar \n\ti ispravno su napisane,osim ako\n\tnije ispisano nesto drugacije!!!!"; else
cout << "\n\tBroj zagrada nije dobar!!!";
}
int main () {

cvor *pok;
char a;

cout << endl<< "Unesi alg. izraz:"<<endl<<"(Kraj izraza potvrdi sa = )\n\n";

while ( a != '=' ){ /*u prevodu: ponavljaj dok se ne unese znak jednako*/
cin >> a;
pok= novicvor(a); /* poziva se funkcija koja pravi objekt (cvor) koji sadrzi znak
unesen sa tipkovnice*/
dodajnakraj(pok); // onda taj cvor stavljamo na vrh steka
}

/* kada smo napunili stek pozivamo funciju zgrda() koja uzima elemente sa steka i
provjerava da li redoslije zagrada ispravan*/
zgrda();
cout << endl;
getch();
return 0;
}


 
Odgovor na temu

_shame_

Član broj: 71683
Poruke: 40
*.PPPoE-1148.sa.bih.net.ba.



Profil

icon Re: prevodjenje iz c++ u javu10.06.2006. u 11:18 - pre 217 meseci
A moze li se taj problem drugacije resiti??
Da proverava zagrade u javi,ali da ne bude 100% prevod iz C++??
 
Odgovor na temu

Bman

Član broj: 97921
Poruke: 9
*.adsl.net.t-com.hr.



Profil

icon Re: prevodjenje iz c++ u javu20.06.2006. u 10:44 - pre 217 meseci
ima li java pokazivace
 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
*.beotel.net.

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: prevodjenje iz c++ u javu20.06.2006. u 23:57 - pre 217 meseci
Java ima reference. To su dobroćudni pokazivači. Ne može se raditi pokazivačka aritmetika sa njima, ne može se od proizvoljne promenjive uzeti adresa (nema operatora "&") i nema operatora dereferenciranja (-> i "*"), odnosno svi objekti su na heapu i kad se pristupa metodama i atributima sa "." automatski se dereferencira.
Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

[es] :: Java :: prevodjenje iz c++ u javu

[ Pregleda: 1866 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.