Red de conocimiento informático - Conocimiento informático - Código fuente de mínimos cuadrados

Código fuente de mínimos cuadrados

# incluir ltiostream gt

# incluir ltfstream gt

# incluir ltctime gt

# incluir ltcmath gt

# incluir ltstdlib.h gt

# incluir ltstdio.h gt//hora//archivo

# incluir lt string gt

#define random(x)(rand()x )

Usar espacio de nombres std

void thunder(int Dif, int Row, int Column, char *USer)

{

int r , c, todos[22][22], detrás del escenario[22][22]= { 0 };

srand((int)time(0));

para (r = 1; r lt=row; R) // Generar todo (0 ~ 1) 1 es un trueno.

{

for(c = 1; c lt=columna; c )

{

if(random(6) lt ;1){ todo[r][c]= 1;} más { todo[r][c]= 0;};

}

};

for(r = 0; r lt= Fila 1; R) //Generación de fondo (respuesta correcta)

{

for(int c = 0; c lt= Columna 1; c )

{

if(alls[r][c]==1)

{

(int )back stage[r][c]= ' * '; //Trueno cambia 1 a *.

}

Otro

{

for(int I = r-1; I lt= r 1; I) // Convierte 0 en un número (que representa el número de truenos que te rodean)

for(int j = c-1; j lt= c 1; j)

{

if(all[I][j]!= all s[r][c] amp; ampall[I][j]= = 1){ backstage[r][c];};

}

}; // De lo contrario, el final

}; El final de //

}; >

cout lt lt" = = = = = = = = = = = = = = = = = = = = = = * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = " lt; ltendl

Superficie carbonizada[22][22];//Generar superficie (interfaz de usuario)

for( r = 0; r lt22; R ) //Todos ceros

for(c = 0; c lt22; c )

{

superficie[r] [c]= ' 0 ';

}

for(r = 1; r lt=line; R) //El # del medio forma 0 corchetes # (hasta el número # --> formulario; detener el bucle cuando (* || número) gane)

for (c = 1; c lt = columna; c )

{

surface[r][c]= ' # ';

}

for(r = 1; r lt=line; R ) // Genera la interfaz de superficie para facilitar la inspección .

{

for(c = 1; c lt=columna; c){ cout lt; lt" " " lt superficie[r][c];};

cout lt ltendl

};

cout lt lt"Ingrese según el formato"

lt lt"Los dos primeros números son coordenadas , y el último número A '1' indica que la ubicación es un Trueno, y un '0' indica ninguno. " lt ltEndel

lt lt"Por ejemplo: 1 3 1 significa que una fila y tres columnas son un trueno 2 4 0 significa que dos filas y cuatro columnas no son un trueno"

lt lt "Consejos: cuando todas las minas alrededor de los números hayan sido eliminadas, puede ingresar a esta ubicación nuevamente según sea necesario para obtener los números circundantes. ” lt ltendl

Long I = 1000000 l; //Inicio del tiempo de cálculo

clock_t comienza, termina;

Doble duración;

start = clock();

while(I-); //Calcular el inicio del tiempo

int num = Fila * Columna//Calcular el número de # números

And (num!=0) //Controla si se hace clic en todas las ubicaciones.

{

int x, y, juez

CIN gt; gtx gt gty gt gtjudge;

if(all[x ] [y]!=Juez)

{

cout lt "¡¡¡Pierdes!!!" lt ltendl

cout lt La respuesta es: " lt ltendl

for(r = 1; r lt=line; R) //El fondo de entrada y salida muestra la respuesta correcta

{

for(int c. . = 1; c lt=columna; c )

{

cout lt lt" " " lt lt(char)(entre bastidores[r][c]==42?entre bastidores [ r][c]:backstage[r][c] ' 0 '); // Salida entre bastidores

}

cout lt ltendl

}< / p>

Romper;

}

Otro

{

if(all[x][y]= = 1 ){ if(surface[x][y]= = ' # '){ num-;} Surface[x][y]= '@';}// Lei juzgó que "@" se muestra correctamente count "; #"

Otros

{

If (fondo[x][y]!=0) //El juicio numérico muestra el número correctamente.

{

if(superficie[x][y]= = ' # '){ num-;superficie[x][y]= detrás del escenario[x][y] ' 0 ';}//Número "#"

Otro

{

int lei _ num = 0;

for( int I = x-1; Ilt= x 1; I) //Cuenta el número de minas.

for(int j = y-1; j lt= y 1; j )

{

if(superficie[i][j]== '@ ')

lei _ num;

}

If(background[x][y]==lei_num) //Mira el trueno alrededor el número Si se escanean todos, se mostrará el número.

{

for(int I = x-1; i lt= x 1; i)

for(int j = y-1; j lt = y 1; j )

if(superficie[I][j]= ' # ')//número " # "

{

superficie[ I][j]= detrás del escenario[I][j] ' 0 ';

num-;

}

}

}

}

Else //Cuando el número es cero, muestra cero cerca de cero.

{

if(superficie[x][y]= = ' # '){ num-;};//Número "#"

superficie [x][y]= back stage[x][y] ' 0 ';

for(int I = x-1; I lt= x 1; I) //Mostrar números cercanos a cero.

for(int j = y-1; j lt= y 1; j )

if(surface[I][j]= ' # ')//Evitar bucle infinito .

{

superficie[I][j]= back stage[I][j] ' 0 '

num- //Número "#; ”

}

for(int k = 0; k lt20; K) //Hasta 20 niveles de cero (señale el cero más externo)

{

for(int R = 1; R lt=row; R) //comprobar todos los ceros

for(int C = 1; C lt=columna; C) // mostrar nuevamente Números alrededor de cero.

{

if(superficie[R][C]=='0 ')

{

for(int I = R-1;i lt= R 1;i)

for(int j = C-1;j lt= C 1;j)

{

if(surface[I][j]= ' # ')//Evitar el número de bucle infinito" # "

{

surface[I][j]= back stage[ I][j] ' 0 ';

num-;

}

}

}

}//Coincidir dentro

}//Coincidir externo para

}//Coincidir con otra persona

}//Coincidir con otra persona

} //Coincide con els

cout lt ltendl

cout lt lt" = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = " lt; ltendl

for(r = 1 ; r lt= fila; R ) //Interfaz de salida (modificada)

{

for(c = 1; c lt=columna; c){ cout lt" " " lt ltsurface[ r][c];};

cout lt ltendl

};

}//Coincidir simultáneamente

finish = clock( ); //Tiempo de fin del cálculo

duración =(double)(finish-start)/CLOCKS _ PER _ SEC //Variable de tiempo

If(num ==0) // todos

{

cout lt lt"¡Tú ganas! ¡Felicidades! ! " lt ltendl

cout lt lt"Tu tiempo es: " lt ltduration lt ltendl

If(Dif==1) //Lee el archivo de almacenamiento del buscaminas simple.

p>

{

Nombre de cadena;

Nombre de cadena[6];

Tiempo doble, timbre;

p>

Doble[6];

int I = 0;

Ifstream inf("Simple Buscaminas.txt ");

for( I = 0 ;Ilt5;I) //La información del archivo se importa a la matriz.

{

inf gt gt nombre; inf gt gtrang gt gt tiempo

Nombre[I]= Nombre

veces[; I]=time;

}

INF . close();

name[5]=user; //Información del concursante para esta ronda

veces[5]=duración;

doble t 1 = 0;

Cadena T2;

for(int j = 0; j lt5 ;J) //Método de clasificación de burbujas

{

for(I = 0;i lt5-j;i)

{

si(veces[I] gt; veces[i 1])

{

t 1 = veces[I];

veces[I ]= veces[I 1];

veces[I 1]= t 1;

T2 = nombre[I];

nombre[I]= nombre[ Yo 1];

nombre[I 1]= T2;

}

}

}

Ofstream outf("Simple Minesweeper. txt ");

for(I = 0; I lt5; I ) // Almacena la información de los cinco mejores jugadores en un archivo.

{

cout lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt ltveces[I] lt; >outf lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt lttimes[I] lt; ltendl

}

outf . ;

}

If(Dif==2) //Lee el archivo de almacenamiento del buscaminas general.

{

Nombre de cadena;

Nombre de cadena[6];

Tiempo doble, timbre;

Double[6];

int I = 0;

Ifstream inf("Desminado general.txt ");

for(I = 0;Ilt5; I) //La información del archivo se importa a la matriz.

{

inf gt gt nombre; inf gt gtrang gt gt tiempo

Nombre[I]= Nombre

veces[; I]=time;

}

INF . close();

name[5]=user; //Información del concursante para esta ronda

veces[5]=duración;

doble t 1 = 0;

Cadena T2;

for(int j = 0; j lt5 ;J) //Método de clasificación de burbujas

{

for(I = 0;i lt5-j;i)

{

si(veces[I] gt; veces[i 1])

{

t 1 = veces[I];

veces[I ]= veces[I 1];

veces[I 1]= t 1;

T2 = nombre[I];

nombre[I]= nombre[ Yo 1];

nombre[I 1]= T2;

}

}

}

Ofstream outf("Remoción general de minas. txt ");

for(I = 0; I lt5; I) //Almacena la información de los cinco mejores jugadores en un archivo y envíalo.

{

cout lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt ltveces[I] lt; >outf lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt lttimes[I] lt; ltendl

}

outf . ;

}

If(Dif==3) //Leer archivos de almacenamiento que son difíciles de extraer.

{

Nombre de cadena;

Nombre de cadena[6];

Tiempo doble, timbre;

Double[6];

int I = 0;

Ifstream inf("Dificultad del Buscaminas.txt ");

for(I = 0;Ilt5; I) //La información del archivo se importa a la matriz.

{

inf gt gt nombre; inf gt gtrang gt gt tiempo

Nombre[I]= Nombre

veces[; I]=time;

}

INF . close();

name[5]=user; //Información del concursante para esta ronda

veces[5]=duración;

doble t 1 = 0;

Cadena T2;

for(int j = 0; j lt5 ;J) //Método de clasificación de burbujas

{

for(I = 0;i lt5-j;i)

{

si(veces[I] gt; veces[i 1])

{

t 1 = veces[I];

veces[I ]= veces[I 1];

veces[I 1]= t 1;

T2 = nombre[I];

nombre[I]= nombre[ Yo 1];

nombre[I 1]= T2;

}

}

}

Ofstream outf("Mine Sweeper Difficulty. txt ");

for(I = 0; I lt5; I) // Almacena la información de los cinco mejores jugadores en un archivo.

{

cout lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt ltveces[I] lt; >outf lt ltname[I] lt; lt" " " lt ltI 1 lt; lt" " " lt lttimes[I] lt; ltendl

}

outf . ;

}

}

}

Void scale(int dif, char *Usuario) //Selecciona dificultad.

{

int fila, columna

if(dif == 1){ fila = 3 columna = 3;}

if(dif == 2){ fila = 7; columna = 7;}

if(dif == 3){ fila = 10; columna = 10;}

cout lt lt "La escala es: " lt ltrow lt lt" * " lt lt columna lt ltendl

Trueno (dif, fila, columna, usuario);

};

int main()

{

int Continuar = 1;

int dificultad;

char usuario[10];

cout lt lt"¡Bienvenido al juego!" lt ltEndl

lt lt"¡Ingresa tu nombre de usuario!"

mientras(Continuar==1)

{

cout lt lt" = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = "lt;ltendel

lt lt"¡Por favor seleccione la dificultad!" lt ltEndel

lt lt"Fácil-1"

lt lt"Regular-2"

lt lt"dificultad -3"

CIN gt; gtdificultad;

escala(dificultad, usuario);

cout lt lt"continuar juego -1 finalizar juego -0" < lt; endl

CIN gt; gt continuar;

}

return 0;

}

Buscaminas Juego, código propio.