Red de conocimiento informático - Consumibles informáticos - Traducción de un programa Java de alta puntuación a C++

Traducción de un programa Java de alta puntuación a C++

# incluir & ltstdio.h & gt

# incluir & ltiostream & gt

# incluir & ltfstream & gt

# incluir & ltstring& gt

# include & ltvector & gt

# include & ltcstdlib & gt

# include & ltctime & gt

Usar espacio de nombres estándar

void StringSplit(string str, string delim, vector & lt string & gt result)

{

int cutAt

while( (cutAt = str . encontrar _ primero _ de(delim))! = str.npos)

{

if(cutAt & gt; 0)

{

resultados.push_back(str.substr(0, cutAt));

}

str = str . } p>

}

if(str . length()& gt; 0)

{

resultados . push _ back(str);

}

}

Clase ReadFile {

Público:

vector estático & ltvector& ltint & gt& gtread (const char* nombre de archivo) {

int x = 0

int y = 0

Vector & lt cadena & gtm; p>ifstream f(nombre de archivo);

Cadena str

Vector & ltString& gts;

char * buffer = new char[ 1024];

while(f.getline(buffer, 1024)) {

StringSplit(trim(str),",",s);

y = s . );

for(int I(0));i<y;i++) {

m.insert(m.end(), s. begin(), s . end( ));

}

}

Eliminar [] buffer

Vector & lt Vector & ltint & gt& gtarr

for(int I = 0;i<x;i++) {

for(int j = 0;j & lty;j++) {

p>

cadena str = m en(j * y+I);

char * strc

strc = & ampstr[0];

//String[]strs =(. Cadena[])m . get(I+1);

//arr[I][j]= entero . parse int(strs[j]); I][j]= atoi;

}

}

Return arr

}

Cadena estática recortar (cadena cadena) {

tamaño _ t startpos = cadena buscar _ primero _ no _.

of(" \ t ");

tamaño _ t endpos = str . buscar _ último _ no _ of(" \ t "); vacío devuelve una cadena vacía

if((string::NPOs == start pos)| |(string::NPOs == end pos))

{

str =

}

Otros

str = str.substr(startpos, end pos-startpos+1);

Cadena de retorno;

}

};

int main() {

hora _ t hora anterior

Hora (y hora anterior);

hora _ t última vez = 0;

//Establecer 1 parámetro. Si es igual a 1, calcule y escriba el resultado en el archivo, calcule el tiempo. Si es igual a 2, el tiempo de cálculo no se escribirá en el archivo, pero el resultado del cálculo se mostrará en la pantalla. Si es igual a 3, solo se calculará, pero el resultado no se mostrará. en la pantalla, y solo se mostrará el tiempo de cálculo~

int select = 0;

p>

CIN>>Select;

//Envíe los resultados a un archivo.

de la secuencia f;

f . p>Vector & ltVector& ltint & gt& gtb = ReadFile::read(" F://3 . txt ");

Vector & ltVector& ltint & gt& gtc = ReadFile::read( " F:/ /4 . txt ");

Vector & ltvector& ltint & gt& gta;

Cadena de alguien;

for(unsigned int I = 0;i<b.size ();i++) {

for(unsigned int j = 0;j<b[i].size();j++) {

a[I][j]= b[ I][j]* c[I][j];

cut+= 1;

char * sbc

sbc = & ampsb[0];

sprintf_s(sbc, 10, " %d ", a[I][j]

}

sb .append(" \ r \); n ");

}

Tiempo (& tiempo amplast);

//En segundos Calcular

tiempo de doble uso = diff tiempo(última vez, hora anterior);

usar tiempo * = 1000;

if(elegir == 1) {

f & lt& ltsb;

cout & lt& lt"Envíe los resultados de ejecución al archivo F://1.txt"

}

if(choose == 2) {

cout & lt& lt"-* * * para calcular"

cout & lt& ltsb & lt& ltendl

}

if(elegir == 3) {

cout & lt& lt"A * * * acción"

}

Devuelve 0;

} / / Principal