Project

General

Profile

Código e Implementación » History » Version 15

Version 14 (Cesar Jimenez, 09/24/2023 04:04 AM) → Version 15/41 (Cesar Jimenez, 09/24/2023 04:07 AM)

h1. ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤWikipedia

!logoPRO.png!

----

+*Grupo A:*+
> Integrantes: Cristian Sánchez, Jean Pier Duran, Sergio Rabanal, Valentina Álvarez, César Jiménez
> Nombre del Producto: Machine EV3 G
> Modulo: Proyecto I
> Docente: Humberto Urrutia
> Fecha de Inicio: 2023-08-14
> Fecha de Termino: 2023-11-30

----

*ㅤㅤㅤㅤㅤㅤㅤÍndice:*
* [[Introducción]]
* [[Descripción y Objetivos]]
* [[Organización y Planificación]]
* [[Análisis y Diseño]]
* [[Código e Implementación]]
* [[Bibliografía]]

h1. ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤInsertar Código del Proyecto

<pre><code class="ruby">
#include <iostream> public class Main{
public static void main(String[] args){
System.out.println(&quot;te sigo queriendo como el primer dia&quot;);
ListaDobleEnlace&lt;Integer&gt; numeros = new ListaDobleEnlace&lt;&gt;();
numeros.insertar_al_inicio(10);
numeros.insertar_al_inicio(6);
numeros.insertar_al_inicio(3);
numeros.insertar_al_inicio(2);
numeros.insertar_al_inicio(-1);
numeros.imprimir();

System.out.println(&quot;\n Tamaño de la Lista: &quot;+numeros.size());

numeros.insertar_al_final(15);
numeros.insertar_al_final(20);
numeros.imprimir();

System.out.println(&quot;\nTamaño de la Lista: &quot;+numeros.size());

System.out.println(&quot;\nContiene el numero: &quot;+numeros.contiene(6));

System.out.println(&quot;\nElemento en la posicion 6 es: &quot;+numeros.obtener_elemento(6));

numeros.eliminar_en_posicion(5);
numeros.imprimir();



}

#include <cstdlib> }

class Nodo&lt;E&gt;{
E info;
Nodo&lt;E&gt; sgte;
Nodo&lt;E&gt; prev;
public Nodo(Nodo&lt;E&gt; prev,E info,Nodo&lt;E&gt; sgte){
this.prev = prev;
this.info = info;
this.sgte = sgte;
}

#include <ctime> }

class ListaDobleEnlace&lt;E&gt;{
Nodo&lt;E&gt; cabecera;
int main() { size = 0;
// Inicializar la semilla para generar números aleatorios public ListaDobleEnlace(){
this.cabecera = new Nodo&lt;&gt;(null,null,null);
cabecera.sgte = cabecera;
cabecera.prev = cabecera;

std::srand(std::time(0));

// Generar un número aleatorio entre 1 y 100
}

public void insertar_al_inicio(E valor){
Nodo&lt;E&gt; antiguoSiguiente = cabecera.sgte;
Nodo&lt;E&gt; nuevoNodo = new Nodo&lt;&gt;(cabecera,valor,antiguoSiguiente);
cabecera.sgte = antiguoSiguiente.prev = nuevoNodo;

size ++;

}

public void insertar_al_final(E valor){
Nodo&lt;E&gt; antiguoFinal = cabecera.prev;
Nodo&lt;E&gt; nuevoNodo = new Nodo&lt;&gt;(antiguoFinal,valor,cabecera);
cabecera.prev = antiguoFinal.sgte = nuevoNodo;

size++;
}

public void insertar_en_posicion(E valor,int k){
Nodo&lt;E&gt; temp = cabecera.sgte;
int numeroAleatorio cont = std::rand() % 100 + 1;


while(temp != cabecera){
if(cont == k){
break;
}
cont++;
temp = temp.sgte;
}
Nodo&lt;E&gt; nuevoNodo = new Nodo&lt;&gt;(temp.prev,valor,temp);
temp.prev.sgte = temp.prev = nuevoNodo;
size++;
}

public void eliminar_al_inicio(){
Nodo&lt;E&gt; temp = cabecera.sgte.sgte;
cabecera.sgte = temp;
temp.prev = cabecera;
size--;
}

public void eliminar_al_final(){
Nodo&lt;E&gt; temp = cabecera.prev.prev;
cabecera.prev = temp;
temp.sgte = cabecera;


size--;
}

public void eliminar_en_posicion(int k){
Nodo&lt;E&gt; temp = cabecera.sgte;
int intentos cont = 0; 1;
while(temp != cabecera){
if (cont == k){
break;
}
temp = temp.sgte;
cont++;
}
temp.prev.sgte = temp.sgte;
temp.sgte.prev = temp.prev;

size--;

}

public E obtener_elemento(int k){
Nodo&lt;E&gt; temp = cabecera.sgte;
int intentoUsuario;

std::cout << "Bienvenido al juego de adivinanza de números." << std::endl;
cont = 1;
while(temp != cabecera){
if (cont == k){
return temp.info;
}
temp = temp.sgte;
cont++;
}
return null;

std::cout << "Intenta adivinar un número entre 1 y 100." << std::endl;

do {
}

public int buscar(E valor){

std::cout << "Introduce tu adivinanza: "; Nodo&lt;E&gt; temp = cabecera.sgte;
std::cin >> intentoUsuario; int cont = 1;
intentos++;

while(temp != cabecera){
if (intentoUsuario < numeroAleatorio) { (temp.info.equals(valor)){
return cont;

std::cout << "El número es mayor. Intenta de nuevo." << std::endl; }
temp = temp.sgte;
cont++;

} else
return -1;
}

public void vaciar(){
cabecera.prev = cabecera.sgte = cabecera;
}

public boolean contiene(E valor){
Nodo&lt;E&gt; temp = cabecera.sgte;
while(temp != cabecera){
if (intentoUsuario > numeroAleatorio) { (valor == temp.info){
return true;

std::cout << "El número es menor. Intenta de nuevo." << std::endl; }
temp = temp.sgte;

} else {
std::cout << "¡Felicitaciones! Adivinaste

return false;
}

public void imprimir(){
System.out.println(&quot;&quot;);
Nodo&lt;E&gt; temp = cabecera.sgte;
// problema encontrado --&gt; se estaba tomando
el número valor de null de la cabecera como referencia entonces se metio en un bucle interminable
while(temp != cabecera){
System.out.print(temp.info +
" << intentos << " intentos." << std::endl; &lt;-&gt; &quot;);
temp = temp.sgte;

}

System.out.print(&quot;null&quot;);

} while (intentoUsuario != numeroAleatorio);



public int size(){
return 0; size;
}

}





</code></pre>