Traducción de un programa Java de alta puntuación a C++
# 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 p>
sbc = & ampsb[0];
sprintf_s(sbc, 10, " %d ", a[I][j]
} p>
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